diff options
Diffstat (limited to 'recipes/qemu/qemu-0.9.1+svn/10_signal_jobs.patch')
-rw-r--r-- | recipes/qemu/qemu-0.9.1+svn/10_signal_jobs.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/recipes/qemu/qemu-0.9.1+svn/10_signal_jobs.patch b/recipes/qemu/qemu-0.9.1+svn/10_signal_jobs.patch new file mode 100644 index 0000000000..d79482d2f4 --- /dev/null +++ b/recipes/qemu/qemu-0.9.1+svn/10_signal_jobs.patch @@ -0,0 +1,26 @@ +#DPATCHLEVEL=0 +--- +# linux-user/signal.c | 7 ++++++- +# 1 file changed, 6 insertions(+), 1 deletion(-) +# +Index: linux-user/signal.c +=================================================================== +--- linux-user/signal.c.orig 2008-04-24 20:15:46.000000000 +0100 ++++ linux-user/signal.c 2008-04-24 20:15:55.000000000 +0100 +@@ -364,10 +364,15 @@ + k = &sigact_table[sig - 1]; + handler = k->sa._sa_handler; + if (handler == TARGET_SIG_DFL) { ++ if (sig == TARGET_SIGTSTP || sig == TARGET_SIGTTIN || sig == TARGET_SIGTTOU) { ++ kill(getpid(),SIGSTOP); ++ return 0; ++ } else + /* default handler : ignore some signal. The other are fatal */ + if (sig != TARGET_SIGCHLD && + sig != TARGET_SIGURG && +- sig != TARGET_SIGWINCH) { ++ sig != TARGET_SIGWINCH && ++ sig != TARGET_SIGCONT) { + force_sig(sig); + } else { + return 0; /* indicate ignored */ |