summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_kse.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-04-27 04:32:40 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-04-27 04:32:40 +0000
commit450b9799cebe44ddf6aab7b644e8871ac433d92a (patch)
treea7349c65ad685b5dc799bc2bd9c31285d2b7c344 /sys/kern/kern_kse.c
parent0c267521bcf1feea70b96249554a94417834e5d4 (diff)
downloadFreeBSD-src-450b9799cebe44ddf6aab7b644e8871ac433d92a.zip
FreeBSD-src-450b9799cebe44ddf6aab7b644e8871ac433d92a.tar.gz
unlock sched_lock at right time.
Diffstat (limited to 'sys/kern/kern_kse.c')
-rw-r--r--sys/kern/kern_kse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_kse.c b/sys/kern/kern_kse.c
index ac7daa4..6502e23 100644
--- a/sys/kern/kern_kse.c
+++ b/sys/kern/kern_kse.c
@@ -1681,9 +1681,9 @@ thread_userret(struct thread *td, struct trapframe *frame)
else
upcalls += kg2->kg_numupcalls;
}
- mtx_unlock_spin(&sched_lock);
if (upcalls >= max_threads_per_proc)
break;
+ mtx_unlock_spin(&sched_lock);
p->p_maxthrwaits++;
msleep(&p->p_numthreads, &p->p_mtx, PPAUSE|PCATCH,
"maxthreads", NULL);
OpenPOWER on IntegriCloud