aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_kthread.c
diff options
context:
space:
mode:
authorLuoqi Chen <luoqi@FreeBSD.org>1999-10-11 20:33:17 +0000
committerLuoqi Chen <luoqi@FreeBSD.org>1999-10-11 20:33:17 +0000
commit645682fd40b5855a1dfbca5ddb330dda7cf5ddc0 (patch)
tree7cad9d7dad8a4c0a9a157153dada2dbbd270e491 /sys/kern/kern_kthread.c
parent456b2f80635b3455ab32f16fa5460146f93583c8 (diff)
downloadsrc-645682fd40b5855a1dfbca5ddb330dda7cf5ddc0.tar.gz
src-645682fd40b5855a1dfbca5ddb330dda7cf5ddc0.zip
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
Notes
Notes: svn path=/head/; revision=52140
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 f5b0c1d74606..b375fbb3e129 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 */