aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2006-01-18 20:43:57 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-18 22:20:29 -0500
commit150256d8aadb3a337c31efa9e175cbd25bf06b06 (patch)
tree8cd7e2a0bc6af23984682c5ea3ca687809580c5a /include
parenta60fc5190a31d98508ea6a76f74217f4104e74b7 (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.h2
-rw-r--r--include/linux/sched.h1
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;