summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2003-03-31 22:12:09 +0000
committerjeff <jeff@FreeBSD.org>2003-03-31 22:12:09 +0000
commit6e0127855502b58ac0a954c1582d5e729dfc5411 (patch)
treecb5fe42ff44ceb4eea253284790f6571a538f2a1 /sys/kern/kern_sig.c
parent4a3718fb251369224e283ab56a6a157fc2cc75ed (diff)
downloadFreeBSD-src-6e0127855502b58ac0a954c1582d5e729dfc5411.zip
FreeBSD-src-6e0127855502b58ac0a954c1582d5e729dfc5411.tar.gz
- Mark signals which may be delivered to any thread in the process with
SA_PROC. Signals without this flag should be directed to a particular thread if this is possible.
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c63
1 files changed, 32 insertions, 31 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 9bf4385..b5db78c 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -132,39 +132,40 @@ SYSCTL_INT(_kern, OID_AUTO, coredump, CTLFLAG_RW,
#define SA_IGNORE 0x10 /* ignore by default */
#define SA_CONT 0x20 /* continue if suspended */
#define SA_CANTMASK 0x40 /* non-maskable, catchable */
+#define SA_PROC 0x80 /* deliverable to any thread */
static int sigproptbl[NSIG] = {
- SA_KILL, /* SIGHUP */
- SA_KILL, /* SIGINT */
- SA_KILL|SA_CORE, /* SIGQUIT */
- SA_KILL|SA_CORE, /* SIGILL */
- SA_KILL|SA_CORE, /* SIGTRAP */
- SA_KILL|SA_CORE, /* SIGABRT */
- SA_KILL|SA_CORE, /* SIGEMT */
- SA_KILL|SA_CORE, /* SIGFPE */
- SA_KILL, /* SIGKILL */
- SA_KILL|SA_CORE, /* SIGBUS */
- SA_KILL|SA_CORE, /* SIGSEGV */
- SA_KILL|SA_CORE, /* SIGSYS */
- SA_KILL, /* SIGPIPE */
- SA_KILL, /* SIGALRM */
- SA_KILL, /* SIGTERM */
- SA_IGNORE, /* SIGURG */
- SA_STOP, /* SIGSTOP */
- SA_STOP|SA_TTYSTOP, /* SIGTSTP */
- SA_IGNORE|SA_CONT, /* SIGCONT */
- SA_IGNORE, /* SIGCHLD */
- SA_STOP|SA_TTYSTOP, /* SIGTTIN */
- SA_STOP|SA_TTYSTOP, /* SIGTTOU */
- SA_IGNORE, /* SIGIO */
- SA_KILL, /* SIGXCPU */
- SA_KILL, /* SIGXFSZ */
- SA_KILL, /* SIGVTALRM */
- SA_KILL, /* SIGPROF */
- SA_IGNORE, /* SIGWINCH */
- SA_IGNORE, /* SIGINFO */
- SA_KILL, /* SIGUSR1 */
- SA_KILL, /* SIGUSR2 */
+ SA_KILL|SA_PROC, /* SIGHUP */
+ SA_KILL|SA_PROC, /* SIGINT */
+ SA_KILL|SA_CORE|SA_PROC, /* SIGQUIT */
+ SA_KILL|SA_CORE, /* SIGILL */
+ SA_KILL|SA_CORE, /* SIGTRAP */
+ SA_KILL|SA_CORE, /* SIGABRT */
+ SA_KILL|SA_CORE|SA_PROC, /* SIGEMT */
+ SA_KILL|SA_CORE, /* SIGFPE */
+ SA_KILL|SA_PROC, /* SIGKILL */
+ SA_KILL|SA_CORE, /* SIGBUS */
+ SA_KILL|SA_CORE, /* SIGSEGV */
+ SA_KILL|SA_CORE, /* SIGSYS */
+ SA_KILL|SA_PROC, /* SIGPIPE */
+ SA_KILL|SA_PROC, /* SIGALRM */
+ SA_KILL|SA_PROC, /* SIGTERM */
+ SA_IGNORE|SA_PROC, /* SIGURG */
+ SA_STOP|SA_PROC, /* SIGSTOP */
+ SA_STOP|SA_TTYSTOP|SA_PROC, /* SIGTSTP */
+ SA_IGNORE|SA_CONT|SA_PROC, /* SIGCONT */
+ SA_IGNORE|SA_PROC, /* SIGCHLD */
+ SA_STOP|SA_TTYSTOP|SA_PROC, /* SIGTTIN */
+ SA_STOP|SA_TTYSTOP|SA_PROC, /* SIGTTOU */
+ SA_IGNORE|SA_PROC, /* SIGIO */
+ SA_KILL, /* SIGXCPU */
+ SA_KILL, /* SIGXFSZ */
+ SA_KILL|SA_PROC, /* SIGVTALRM */
+ SA_KILL|SA_PROC, /* SIGPROF */
+ SA_IGNORE|SA_PROC, /* SIGWINCH */
+ SA_IGNORE|SA_PROC, /* SIGINFO */
+ SA_KILL|SA_PROC, /* SIGUSR1 */
+ SA_KILL|SA_PROC, /* SIGUSR2 */
};
/*
OpenPOWER on IntegriCloud