Commit 0c8bf3d5 authored by David S. Miller's avatar David S. Miller

kernel/signal.c: Handle SIGEMT.

parent ff0516b9
...@@ -70,6 +70,14 @@ int max_queued_signals = 1024; ...@@ -70,6 +70,14 @@ int max_queued_signals = 1024;
| SIGWINCH | load-balance | ignore | | SIGWINCH | load-balance | ignore |
| SIGPWR | load-balance | kill-all | | SIGPWR | load-balance | kill-all |
| SIGRTMIN-SIGRTMAX | load-balance | kill-all | | SIGRTMIN-SIGRTMAX | load-balance | kill-all |
----------------------------------------------------------
non-POSIX signal thread group behavior:
----------------------------------------------------------
| | userspace | kernel |
----------------------------------------------------------
| SIGEMT | specific | kill-all+core |
---------------------------------------------------------- ----------------------------------------------------------
*/ */
...@@ -82,12 +90,19 @@ int max_queued_signals = 1024; ...@@ -82,12 +90,19 @@ int max_queued_signals = 1024;
#define M_SIGSTKFLT 0 #define M_SIGSTKFLT 0
#endif #endif
#ifdef SIGEMT
#define M_SIGEMT M(SIGEMT)
#else
#define M_SIGEMT 0
#endif
#define M(sig) (1UL << (sig)) #define M(sig) (1UL << (sig))
#define SIG_USER_SPECIFIC_MASK (\ #define SIG_USER_SPECIFIC_MASK (\
M(SIGILL) | M(SIGTRAP) | M(SIGABRT) | M(SIGBUS) | \ M(SIGILL) | M(SIGTRAP) | M(SIGABRT) | M(SIGBUS) | \
M(SIGFPE) | M(SIGSEGV) | M(SIGPIPE) | M(SIGXFSZ) | \ M(SIGFPE) | M(SIGSEGV) | M(SIGPIPE) | M(SIGXFSZ) | \
M(SIGPROF) | M(SIGSYS) | M_SIGSTKFLT | M(SIGCONT) ) M(SIGPROF) | M(SIGSYS) | M_SIGSTKFLT | M(SIGCONT) | \
M_SIGEMT )
#define SIG_USER_LOAD_BALANCE_MASK (\ #define SIG_USER_LOAD_BALANCE_MASK (\
M(SIGHUP) | M(SIGINT) | M(SIGQUIT) | M(SIGUSR1) | \ M(SIGHUP) | M(SIGINT) | M(SIGQUIT) | M(SIGUSR1) | \
...@@ -105,7 +120,8 @@ int max_queued_signals = 1024; ...@@ -105,7 +120,8 @@ int max_queued_signals = 1024;
M(SIGPIPE) | M(SIGALRM) | M(SIGTERM) | M(SIGXCPU) | \ M(SIGPIPE) | M(SIGALRM) | M(SIGTERM) | M(SIGXCPU) | \
M(SIGXFSZ) | M(SIGVTALRM) | M(SIGPROF) | M(SIGPOLL) | \ M(SIGXFSZ) | M(SIGVTALRM) | M(SIGPROF) | M(SIGPOLL) | \
M(SIGSYS) | M_SIGSTKFLT | M(SIGPWR) | M(SIGCONT) | \ M(SIGSYS) | M_SIGSTKFLT | M(SIGPWR) | M(SIGCONT) | \
M(SIGSTOP) | M(SIGTSTP) | M(SIGTTIN) | M(SIGTTOU) ) M(SIGSTOP) | M(SIGTSTP) | M(SIGTTIN) | M(SIGTTOU) | \
M_SIGEMT )
#define SIG_KERNEL_ONLY_MASK (\ #define SIG_KERNEL_ONLY_MASK (\
M(SIGKILL) | M(SIGSTOP) ) M(SIGKILL) | M(SIGSTOP) )
...@@ -113,7 +129,7 @@ int max_queued_signals = 1024; ...@@ -113,7 +129,7 @@ int max_queued_signals = 1024;
#define SIG_KERNEL_COREDUMP_MASK (\ #define SIG_KERNEL_COREDUMP_MASK (\
M(SIGQUIT) | M(SIGILL) | M(SIGTRAP) | M(SIGABRT) | \ M(SIGQUIT) | M(SIGILL) | M(SIGTRAP) | M(SIGABRT) | \
M(SIGFPE) | M(SIGSEGV) | M(SIGBUS) | M(SIGSYS) | \ M(SIGFPE) | M(SIGSEGV) | M(SIGBUS) | M(SIGSYS) | \
M(SIGXCPU) | M(SIGXFSZ) ) M(SIGXCPU) | M(SIGXFSZ) | M_SIGEMT )
#define T(sig, mask) \ #define T(sig, mask) \
((1UL << (sig)) & mask) ((1UL << (sig)) & mask)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment