summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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