summaryrefslogtreecommitdiff
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorJulian Elischer <julian@FreeBSD.org>2004-09-05 02:09:54 +0000
committerJulian Elischer <julian@FreeBSD.org>2004-09-05 02:09:54 +0000
commited062c8d66c2b1c20522ff55798e6a07d95b017e (patch)
tree18da20638d66699090b682ef6c65384dc44ef3e3 /sys/kern/kern_exec.c
parent057f1760a8171825b260dad27502f74ed5f69faf (diff)
Notes
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 34c75714d7ba..1a79f48a3273 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -254,7 +254,7 @@ kern_execve(td, fname, argv, envv, mac_p)
PROC_LOCK(p);
KASSERT((p->p_flag & P_INEXEC) == 0,
("%s(): process already has P_INEXEC flag", __func__));
- if (p->p_flag & P_SA || p->p_numthreads > 1) {
+ if (p->p_flag & P_HADTHREADS) {
if (thread_single(SINGLE_EXIT)) {
PROC_UNLOCK(p);
mtx_unlock(&Giant);
@@ -262,12 +262,8 @@ kern_execve(td, fname, argv, envv, mac_p)
}
/*
* If we get here all other threads are dead,
- * so unset the associated flags and lose KSE mode.
+ * and threading mode has been turned off
*/
- p->p_flag &= ~P_SA;
- td->td_mailbox = NULL;
- td->td_pflags &= ~TDP_SA;
- thread_single_end();
}
p->p_flag |= P_INEXEC;
PROC_UNLOCK(p);