diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2011-08-18 20:08:19 +0100 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2011-11-02 14:15:11 +0100 |
commit | 17e052093bcd21eaf9eb6e792cd76fdc4f0e3505 (patch) | |
tree | 34e641a73c6b128396b4114f25f8d8133563e53d /arch | |
parent | 0a9e70b1cd0f7ee82a65d19edfcd31664ef65f69 (diff) | |
download | talos-op-linux-17e052093bcd21eaf9eb6e792cd76fdc4f0e3505.tar.gz talos-op-linux-17e052093bcd21eaf9eb6e792cd76fdc4f0e3505.zip |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/drivers/chan_user.c | 7 | ||||
-rw-r--r-- | arch/um/os-Linux/skas/process.c | 6 |
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c index 7ed06a7399d5..f180813ce2c7 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 30f1bb43a230..29e4ab7eb369 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) |