aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/signal.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2007-06-04 01:15:51 -0400
committerPaul Mackerras <paulus@samba.org>2007-06-14 08:29:58 -0400
commitdb277e9a67b9d81b9d6cd74edf0c3e1a0ef2aa4b (patch)
tree288e98873d04c9a89b437f1a4a961acaebb90958 /arch/powerpc/kernel/signal.c
parent69d15f6b352a681f1db9bc70219a3e8e9d503dbf (diff)
[POWERPC] Consolidate restore_sigmask
restore_sigmask is exactly the same on 32 and 64bit, so move it to common code. Also move _BLOCKABLE to signal.h to avoid defining it multiple times. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/signal.c')
-rw-r--r--arch/powerpc/kernel/signal.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
index 325d260abd4e..f92856b98b70 100644
--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -13,6 +13,21 @@
13#include <linux/signal.h> 13#include <linux/signal.h>
14#include <asm/unistd.h> 14#include <asm/unistd.h>
15 15
16#include "signal.h"
17
18
19/*
20 * Restore the user process's signal mask
21 */
22void restore_sigmask(sigset_t *set)
23{
24 sigdelsetmask(set, ~_BLOCKABLE);
25 spin_lock_irq(&current->sighand->siglock);
26 current->blocked = *set;
27 recalc_sigpending();
28 spin_unlock_irq(&current->sighand->siglock);
29}
30
16void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka, 31void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
17 int has_handler) 32 int has_handler)
18{ 33{