generic-poky/meta/packages/qemu/qemu-0.9.1/10_signal_jobs.patch

27 lines
1016 B
Diff

#DPATCHLEVEL=0
---
# linux-user/signal.c | 7 ++++++-
# 1 file changed, 6 insertions(+), 1 deletion(-)
#
Index: linux-user/signal.c
===================================================================
--- linux-user/signal.c.orig 2007-12-03 15:40:26.000000000 +0000
+++ linux-user/signal.c 2007-12-03 15:55:49.000000000 +0000
@@ -364,10 +364,15 @@ int queue_signal(int sig, target_siginfo
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 */