]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] support non-rt signals >32
authorMatthew Wilcox <willy@debian.org>
Thu, 7 Nov 2002 00:13:07 +0000 (16:13 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Thu, 7 Nov 2002 00:13:07 +0000 (16:13 -0800)
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.

kernel/signal.c

index ae640175eb2b261b020e8b1627001ebd8d3dea6a..961596dd16b2aa8ec48b21ebec5d9b3eed5bf82c 100644 (file)
@@ -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) \