|
@@ -380,10 +380,18 @@ int unhandled_signal(struct task_struct *tsk, int sig);
|
|
|
rt_sigmask(SIGCONT) | rt_sigmask(SIGCHLD) | \
|
|
|
rt_sigmask(SIGWINCH) | rt_sigmask(SIGURG) )
|
|
|
|
|
|
+#define SIG_SPECIFIC_SICODES_MASK (\
|
|
|
+ rt_sigmask(SIGILL) | rt_sigmask(SIGFPE) | \
|
|
|
+ rt_sigmask(SIGSEGV) | rt_sigmask(SIGBUS) | \
|
|
|
+ rt_sigmask(SIGTRAP) | rt_sigmask(SIGCHLD) | \
|
|
|
+ rt_sigmask(SIGPOLL) | rt_sigmask(SIGSYS) | \
|
|
|
+ SIGEMT_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_specific_sicodes(sig) siginmask(sig, SIG_SPECIFIC_SICODES_MASK)
|
|
|
|
|
|
#define sig_fatal(t, signr) \
|
|
|
(!siginmask(signr, SIG_KERNEL_IGNORE_MASK|SIG_KERNEL_STOP_MASK) && \
|