summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@debian.org>2002-11-06 16:13:07 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-11-06 16:13:07 -0800
commit56c32f4169ffa07237b89ebfc47589c824aa410e (patch)
tree6a5f1e47c71e3d9ed498fb2ba2249a34c89e0d34 /kernel
parent8a5e642f1f2b4bf07071fae858bc4b74dfa2177f (diff)
[PATCH] support non-rt signals >32
On PA-RISC, SIGRTMIN is 36, so a 32-bit data type is not enough. We conditionalise it so other arches don't pay the cost.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/signal.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index ae640175eb2b..961596dd16b2 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -96,7 +96,12 @@ int max_queued_signals = 1024;
#define M_SIGEMT 0
#endif
+#if SIGRTMIN > BITS_PER_LONG
+#define M(sig) (1ULL << (sig))
+#else
#define M(sig) (1UL << (sig))
+#endif
+#define T(sig, mask) (M(sig) & mask)
#define SIG_USER_SPECIFIC_MASK (\
M(SIGILL) | M(SIGTRAP) | M(SIGABRT) | M(SIGBUS) | \
@@ -131,9 +136,6 @@ int max_queued_signals = 1024;
M(SIGFPE) | M(SIGSEGV) | M(SIGBUS) | M(SIGSYS) | \
M(SIGXCPU) | M(SIGXFSZ) | M_SIGEMT )
-#define T(sig, mask) \
- ((1UL << (sig)) & mask)
-
#define sig_user_specific(sig) \
(((sig) < SIGRTMIN) && T(sig, SIG_USER_SPECIFIC_MASK))
#define sig_user_load_balance(sig) \