summaryrefslogtreecommitdiff
path: root/kernel/signal.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-25 16:04:12 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-03 15:09:20 -0500
commit0a0e8cdf734ce723bfc4ca6032ffbc03ce17c642 (patch)
tree25afe0e1fe4b686f6b36d5a5b978afb26986f576 /kernel/signal.c
parent75907d4d7bc5d79b82d1453d9689efc588de1b43 (diff)
downloadlwn-0a0e8cdf734ce723bfc4ca6032ffbc03ce17c642.tar.gz
lwn-0a0e8cdf734ce723bfc4ca6032ffbc03ce17c642.zip
old sigsuspend variants in kernel/signal.c
conditional on OLD_SIGSUSPEND/OLD_SIGSUSPEND3, depending on which variety of that fossil is needed. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel/signal.c')
-rw-r--r--kernel/signal.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index 6cd3023cc66b..93fd4b83d866 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -3454,6 +3454,23 @@ COMPAT_SYSCALL_DEFINE2(rt_sigsuspend, compat_sigset_t __user *, unewset, compat_
#endif
#endif
+#ifdef CONFIG_OLD_SIGSUSPEND
+SYSCALL_DEFINE1(sigsuspend, old_sigset_t, mask)
+{
+ sigset_t blocked;
+ siginitset(&blocked, mask);
+ return sigsuspend(&blocked);
+}
+#endif
+#ifdef CONFIG_OLD_SIGSUSPEND3
+SYSCALL_DEFINE3(sigsuspend, int, unused1, int, unused2, old_sigset_t, mask)
+{
+ sigset_t blocked;
+ siginitset(&blocked, mask);
+ return sigsuspend(&blocked);
+}
+#endif
+
__attribute__((weak)) const char *arch_vma_name(struct vm_area_struct *vma)
{
return NULL;