summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_thread.c')
-rw-r--r--sys/kern/kern_thread.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index 5f03369..cb91577 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -1544,15 +1544,15 @@ thread_user_enter(struct proc *p, struct thread *td)
/*
* First check that we shouldn't just abort.
* But check if we are the single thread first!
- * XXX p_singlethread not locked, but should be safe.
*/
+ PROC_LOCK(p);
if ((p->p_flag & P_SINGLE_EXIT) && (p->p_singlethread != td)) {
- PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
thread_stopped(p);
thread_exit();
/* NOTREACHED */
}
+ PROC_UNLOCK(p);
/*
* If we are doing a syscall in a KSE environment,
OpenPOWER on IntegriCloud