aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2005-08-18 14:24:25 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-18 15:53:58 -0400
commit2eaa297ca234eb518673b28dd6f3715d4b292e09 (patch)
tree00985e21a8c47a2c7d13125388d389449cb79c42 /arch/um
parent718d8989bca49761daf65f77249b0067c40756b2 (diff)
[PATCH] uml: fix a crash under screen
Running UML inside a detached screen delivers SIGWINCH when UML is not expecting it. This patch ignores them. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/kernel/skas/process.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c
index 6dd9e5bf18ed..f228f8b54194 100644
--- a/arch/um/kernel/skas/process.c
+++ b/arch/um/kernel/skas/process.c
@@ -61,7 +61,11 @@ void wait_stub_done(int pid, int sig, char * fname)
61 61
62 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED)); 62 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED));
63 } while((n >= 0) && WIFSTOPPED(status) && 63 } while((n >= 0) && WIFSTOPPED(status) &&
64 (WSTOPSIG(status) == SIGVTALRM)); 64 ((WSTOPSIG(status) == SIGVTALRM) ||
65 /* running UML inside a detached screen can cause
66 * SIGWINCHes
67 */
68 (WSTOPSIG(status) == SIGWINCH)));
65 69
66 if((n < 0) || !WIFSTOPPED(status) || 70 if((n < 0) || !WIFSTOPPED(status) ||
67 (WSTOPSIG(status) != SIGUSR1 && WSTOPSIG(status) != SIGTRAP)){ 71 (WSTOPSIG(status) != SIGUSR1 && WSTOPSIG(status) != SIGTRAP)){