summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_kthread.c
diff options
context:
space:
mode:
authorluoqi <luoqi@FreeBSD.org>1999-10-11 20:33:17 +0000
committerluoqi <luoqi@FreeBSD.org>1999-10-11 20:33:17 +0000
commitfd8b4427a5a052988cfb0778b779cff1a3e09628 (patch)
tree7cad9d7dad8a4c0a9a157153dada2dbbd270e491 /sys/kern/kern_kthread.c
parent031a7ae6a88dcce6c4d95badfd6b19cbe5520d38 (diff)
downloadFreeBSD-src-fd8b4427a5a052988cfb0778b779cff1a3e09628.zip
FreeBSD-src-fd8b4427a5a052988cfb0778b779cff1a3e09628.tar.gz
Add a per-signal flag to mark handlers registered with osigaction, so we
can provide the correct context to each signal handler. Fix broken sigsuspend(): don't use p_oldsigmask as a flag, use SAS_OLDMASK as we did before the linuxthreads support merge (submitted by bde). Move ps_sigstk from to p_sigacts to the main proc structure since signal stack should not be shared among threads. Move SAS_OLDMASK and SAS_ALTSTACK flags from sigacts::ps_flags to proc::p_flag. Move PS_NOCLDSTOP and PS_NOCLDWAIT flags from proc::p_flag to procsig::ps_flag. Reviewed by: marcel, jdp, bde
Diffstat (limited to 'sys/kern/kern_kthread.c')
-rw-r--r--sys/kern/kern_kthread.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c
index f5b0c1d..b375fbb 100644
--- a/sys/kern/kern_kthread.c
+++ b/sys/kern/kern_kthread.c
@@ -76,7 +76,8 @@ kthread_create(void (*func)(void *), void *arg,
*newpp = p2;
/* this is a non-swapped system process */
- p2->p_flag |= P_INMEM | P_SYSTEM | P_NOCLDWAIT;
+ p2->p_flag |= P_INMEM | P_SYSTEM;
+ p2->p_procsig->ps_flag |= PS_NOCLDWAIT;
PHOLD(p2);
/* set up arg0 for 'ps', et al */
OpenPOWER on IntegriCloud