diff options
author | David Woodhouse <dwmw2@infradead.org> | 2006-01-18 20:43:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-18 22:20:29 -0500 |
commit | 150256d8aadb3a337c31efa9e175cbd25bf06b06 (patch) | |
tree | 8cd7e2a0bc6af23984682c5ea3ca687809580c5a /include | |
parent | a60fc5190a31d98508ea6a76f74217f4104e74b7 (diff) |
[PATCH] Generic sys_rt_sigsuspend()
The TIF_RESTORE_SIGMASK flag allows us to have a generic implementation of
sys_rt_sigsuspend() instead of duplicating it for each architecture. This
provides such an implementation and makes arch/powerpc use it.
It also tidies up the ppc32 sys_sigsuspend() to use TIF_RESTORE_SIGMASK.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-powerpc/unistd.h | 2 | ||||
-rw-r--r-- | include/linux/sched.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h index 19eaac3fbbf9..76daec496062 100644 --- a/include/asm-powerpc/unistd.h +++ b/include/asm-powerpc/unistd.h | |||
@@ -444,11 +444,13 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6 | |||
444 | #define __ARCH_WANT_SYS_SIGPENDING | 444 | #define __ARCH_WANT_SYS_SIGPENDING |
445 | #define __ARCH_WANT_SYS_SIGPROCMASK | 445 | #define __ARCH_WANT_SYS_SIGPROCMASK |
446 | #define __ARCH_WANT_SYS_RT_SIGACTION | 446 | #define __ARCH_WANT_SYS_RT_SIGACTION |
447 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND | ||
447 | #ifdef CONFIG_PPC32 | 448 | #ifdef CONFIG_PPC32 |
448 | #define __ARCH_WANT_OLD_STAT | 449 | #define __ARCH_WANT_OLD_STAT |
449 | #endif | 450 | #endif |
450 | #ifdef CONFIG_PPC64 | 451 | #ifdef CONFIG_PPC64 |
451 | #define __ARCH_WANT_COMPAT_SYS_TIME | 452 | #define __ARCH_WANT_COMPAT_SYS_TIME |
453 | #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND | ||
452 | #endif | 454 | #endif |
453 | 455 | ||
454 | /* | 456 | /* |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 2df1a1a2fee5..0cfcd1c7865e 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -809,6 +809,7 @@ struct task_struct { | |||
809 | struct sighand_struct *sighand; | 809 | struct sighand_struct *sighand; |
810 | 810 | ||
811 | sigset_t blocked, real_blocked; | 811 | sigset_t blocked, real_blocked; |
812 | sigset_t saved_sigmask; /* To be restored with TIF_RESTORE_SIGMASK */ | ||
812 | struct sigpending pending; | 813 | struct sigpending pending; |
813 | 814 | ||
814 | unsigned long sas_ss_sp; | 815 | unsigned long sas_ss_sp; |