|
@@ -400,7 +400,9 @@ int unhandled_signal(struct task_struct *tsk, int sig);
|
|
|
#else
|
|
|
#define rt_sigmask(sig) sigmask(sig)
|
|
|
#endif
|
|
|
-#define siginmask(sig, mask) (rt_sigmask(sig) & (mask))
|
|
|
+
|
|
|
+#define siginmask(sig, mask) \
|
|
|
+ ((sig) < SIGRTMIN && (rt_sigmask(sig) & (mask)))
|
|
|
|
|
|
#define SIG_KERNEL_ONLY_MASK (\
|
|
|
rt_sigmask(SIGKILL) | rt_sigmask(SIGSTOP))
|
|
@@ -421,14 +423,10 @@ int unhandled_signal(struct task_struct *tsk, int sig);
|
|
|
rt_sigmask(SIGCONT) | rt_sigmask(SIGCHLD) | \
|
|
|
rt_sigmask(SIGWINCH) | rt_sigmask(SIGURG) )
|
|
|
|
|
|
-#define sig_kernel_only(sig) \
|
|
|
- (((sig) < SIGRTMIN) && siginmask(sig, SIG_KERNEL_ONLY_MASK))
|
|
|
-#define sig_kernel_coredump(sig) \
|
|
|
- (((sig) < SIGRTMIN) && siginmask(sig, SIG_KERNEL_COREDUMP_MASK))
|
|
|
-#define sig_kernel_ignore(sig) \
|
|
|
- (((sig) < SIGRTMIN) && siginmask(sig, SIG_KERNEL_IGNORE_MASK))
|
|
|
-#define sig_kernel_stop(sig) \
|
|
|
- (((sig) < SIGRTMIN) && siginmask(sig, SIG_KERNEL_STOP_MASK))
|
|
|
+#define sig_kernel_only(sig) siginmask(sig, SIG_KERNEL_ONLY_MASK)
|
|
|
+#define sig_kernel_coredump(sig) siginmask(sig, SIG_KERNEL_COREDUMP_MASK)
|
|
|
+#define sig_kernel_ignore(sig) siginmask(sig, SIG_KERNEL_IGNORE_MASK)
|
|
|
+#define sig_kernel_stop(sig) siginmask(sig, SIG_KERNEL_STOP_MASK)
|
|
|
|
|
|
#define sig_user_defined(t, signr) \
|
|
|
(((t)->sighand->action[(signr)-1].sa.sa_handler != SIG_DFL) && \
|