summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_exit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index f046154..859612b 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -133,6 +133,7 @@ exit1(struct thread *td, int rv)
*/
PROC_LOCK(p);
if (p->p_flag & P_SA || p->p_numthreads > 1) {
+retry:
/*
* First check if some other thread got here before us..
* if so, act apropriatly, (exit or suspend);
@@ -154,7 +155,7 @@ exit1(struct thread *td, int rv)
* thread exits.
*/
if (thread_single(SINGLE_EXIT))
- panic ("Exit: Single threading fouled up");
+ goto retry;
/*
* All other activity in this process is now stopped.
* Remove excess KSEs and KSEGRPS. XXXKSE (when we have them)
OpenPOWER on IntegriCloud