diff options
author | julian <julian@FreeBSD.org> | 2002-08-23 07:23:44 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 2002-08-23 07:23:44 +0000 |
commit | 90d0ff41ba00e50a77853905779745fb1ff706be (patch) | |
tree | 67dae6fafcf2e7499be5bf0826c4665955d7140a /sys/kern/kern_sig.c | |
parent | 907806e8e11a2c90f83d29354e36d0ae91bf8223 (diff) | |
download | FreeBSD-src-90d0ff41ba00e50a77853905779745fb1ff706be.zip FreeBSD-src-90d0ff41ba00e50a77853905779745fb1ff706be.tar.gz |
Don't re-lock the sched lock if we didn't unlock it.
Original error by: David Xu <bsddiy@yahoo.com>
Fix by: David Xu <bsddiy@yahoo.com>
Completely failed to spot it: Julian Elischer <julian@freebsd.org>
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r-- | sys/kern/kern_sig.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index c20ccd2..6cea53b 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1666,9 +1666,9 @@ issignal(td) psignal(p->p_pptr, SIGCHLD); } PROC_UNLOCK(p->p_pptr); + mtx_lock_spin(&sched_lock); } stop(p); - mtx_lock_spin(&sched_lock); p->p_suspcount++; td->td_state = TDS_SUSPENDED; TAILQ_INSERT_TAIL(&p->p_suspended, td, td_runq); |