summaryrefslogtreecommitdiff
path: root/recipes/qemu/qemu-0.12.3/11_signal_sigaction.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/qemu/qemu-0.12.3/11_signal_sigaction.patch')
-rw-r--r--recipes/qemu/qemu-0.12.3/11_signal_sigaction.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/recipes/qemu/qemu-0.12.3/11_signal_sigaction.patch b/recipes/qemu/qemu-0.12.3/11_signal_sigaction.patch
new file mode 100644
index 0000000000..cd56541b71
--- /dev/null
+++ b/recipes/qemu/qemu-0.12.3/11_signal_sigaction.patch
@@ -0,0 +1,21 @@
+#DPATCHLEVEL=0
+---
+# linux-user/signal.c | 5 +++++
+# 1 file changed, 5 insertions(+)
+#
+Index: linux-user/signal.c
+===================================================================
+--- linux-user/signal.c.orig 2008-04-24 20:15:55.000000000 +0100
++++ linux-user/signal.c 2008-04-24 20:15:57.000000000 +0100
+@@ -512,6 +512,11 @@
+
+ if (sig < 1 || sig > TARGET_NSIG || sig == SIGKILL || sig == SIGSTOP)
+ return -EINVAL;
++
++ /* no point doing the stuff as those are not allowed for sigaction */
++ if ((sig == TARGET_SIGKILL) || (sig == TARGET_SIGSTOP))
++ return -EINVAL;
++
+ k = &sigact_table[sig - 1];
+ #if defined(DEBUG_SIGNAL)
+ fprintf(stderr, "sigaction sig=%d act=0x%08x, oact=0x%08x\n",