diff options
author | Christoph Hellwig <hch@lst.de> | 2007-06-04 01:15:51 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-14 08:29:58 -0400 |
commit | db277e9a67b9d81b9d6cd74edf0c3e1a0ef2aa4b (patch) | |
tree | 288e98873d04c9a89b437f1a4a961acaebb90958 /arch/powerpc/kernel/signal.c | |
parent | 69d15f6b352a681f1db9bc70219a3e8e9d503dbf (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.c | 15 |
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 | */ | ||
22 | void restore_sigmask(sigset_t *set) | ||
23 | { | ||
24 | sigdelsetmask(set, ~_BLOCKABLE); | ||
25 | spin_lock_irq(¤t->sighand->siglock); | ||
26 | current->blocked = *set; | ||
27 | recalc_sigpending(); | ||
28 | spin_unlock_irq(¤t->sighand->siglock); | ||
29 | } | ||
30 | |||
16 | void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka, | 31 | void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka, |
17 | int has_handler) | 32 | int has_handler) |
18 | { | 33 | { |