diff options
author | luoqi <luoqi@FreeBSD.org> | 1999-10-11 20:33:17 +0000 |
---|---|---|
committer | luoqi <luoqi@FreeBSD.org> | 1999-10-11 20:33:17 +0000 |
commit | fd8b4427a5a052988cfb0778b779cff1a3e09628 (patch) | |
tree | 7cad9d7dad8a4c0a9a157153dada2dbbd270e491 /sys/kern/kern_kthread.c | |
parent | 031a7ae6a88dcce6c4d95badfd6b19cbe5520d38 (diff) | |
download | FreeBSD-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.c | 3 |
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 */ |