aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2011-08-18 20:08:19 +0100
committerRichard Weinberger <richard@nod.at>2011-11-02 14:15:11 +0100
commit17e052093bcd21eaf9eb6e792cd76fdc4f0e3505 (patch)
tree34e641a73c6b128396b4114f25f8d8133563e53d
parent0a9e70b1cd0f7ee82a65d19edfcd31664ef65f69 (diff)
downloadxen-17e052093bcd21eaf9eb6e792cd76fdc4f0e3505.tar.gz
um: take register_winch_irq() into the caller of is_skas_winch()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r--arch/um/drivers/chan_user.c7
-rw-r--r--arch/um/os-Linux/skas/process.c6
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c
index 7ed06a7399d52..f180813ce2c7c 100644
--- a/arch/um/drivers/chan_user.c
+++ b/arch/um/drivers/chan_user.c
@@ -281,7 +281,12 @@ void register_winch(int fd, struct tty_struct *tty)
return;
pid = tcgetpgrp(fd);
- if (!is_skas_winch(pid, fd, tty) && (pid == -1)) {
+ if (is_skas_winch(pid, fd, tty)) {
+ register_winch_irq(-1, fd, -1, tty, 0);
+ return;
+ }
+
+ if (pid == -1) {
thread = winch_tramp(fd, tty, &thread_fd, &stack);
if (thread < 0)
return;
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
index 30f1bb43a230c..29e4ab7eb3695 100644
--- a/arch/um/os-Linux/skas/process.c
+++ b/arch/um/os-Linux/skas/process.c
@@ -26,11 +26,7 @@
int is_skas_winch(int pid, int fd, void *data)
{
- if (pid != getpgrp())
- return 0;
-
- register_winch_irq(-1, fd, -1, data, 0);
- return 1;
+ return pid == getpgrp();
}
static int ptrace_dump_regs(int pid)