diff options
author | jeff <jeff@FreeBSD.org> | 2007-06-11 23:27:03 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2007-06-11 23:27:03 +0000 |
commit | e93b04c2868ee901613297bfbd90ff9990d8300e (patch) | |
tree | e984bea4aa2ecee1a5a70d991f67499e333ac2d0 /sys | |
parent | 65d74ebe28959fe7388f0f1d02d4f85c65a7e064 (diff) | |
download | FreeBSD-src-e93b04c2868ee901613297bfbd90ff9990d8300e.zip FreeBSD-src-e93b04c2868ee901613297bfbd90ff9990d8300e.tar.gz |
- Add a missing PROC_SUNLOCK() in tdsignal()
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_sig.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 33948eb..c473418 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -2296,8 +2296,10 @@ do_tdsignal(struct proc *p, struct thread *td, int sig, ksiginfo_t *ksi) MPASS(action == SIG_DFL); if (prop & SA_STOP) { - if (p->p_flag & P_PPWAIT) + if (p->p_flag & P_PPWAIT) { + PROC_SUNLOCK(p); goto out; + } p->p_flag |= P_STOPPED_SIG; p->p_xstat = sig; sig_suspend_threads(td, p, 1); |