Index: linux-user/signal.c =================================================================== RCS file: /cvsroot/qemu/qemu/linux-user/signal.c,v retrieving revision 1.24 diff -u -r1.24 signal.c --- linux-user/signal.c 30 Sep 2004 22:04:13 -0000 1.24 +++ linux-user/signal.c 14 Oct 2004 15:57:50 -0000 @@ -349,12 +349,22 @@ handler = k->sa._sa_handler; if (handler == TARGET_SIG_DFL) { /* default handler : ignore some signal. The other are fatal */ - if (sig != TARGET_SIGCHLD && - sig != TARGET_SIGURG && - sig != TARGET_SIGWINCH) { - force_sig(sig); - } else { + switch (sig) { + case TARGET_SIGCHLD: + case TARGET_SIGCONT: + case TARGET_SIGURG: + case TARGET_SIGWINCH: return 0; /* indicate ignored */ + break; + + case TARGET_SIGTSTP: + case TARGET_SIGTTIN: + case TARGET_SIGTTOU: + kill(getpid(), SIGSTOP); /* stop */ + break; + + default: + force_sig(sig); } } else if (handler == TARGET_SIG_IGN) { /* ignore signal */