summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2007-06-11 23:27:03 +0000
committerjeff <jeff@FreeBSD.org>2007-06-11 23:27:03 +0000
commite93b04c2868ee901613297bfbd90ff9990d8300e (patch)
treee984bea4aa2ecee1a5a70d991f67499e333ac2d0
parent65d74ebe28959fe7388f0f1d02d4f85c65a7e064 (diff)
downloadFreeBSD-src-e93b04c2868ee901613297bfbd90ff9990d8300e.zip
FreeBSD-src-e93b04c2868ee901613297bfbd90ff9990d8300e.tar.gz
- Add a missing PROC_SUNLOCK() in tdsignal()
-rw-r--r--sys/kern/kern_sig.c4
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);
OpenPOWER on IntegriCloud