summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-09-06 22:20:41 +0000
committerjhb <jhb@FreeBSD.org>2001-09-06 22:20:41 +0000
commit054237d0bedad367db7ff79d400580da3e2f908f (patch)
tree81a6a9426eb4bd4704877e5d2c62645d4c91f07e /sys/kern/kern_sig.c
parentfc76d31ce4a861706e4b49312b7a2f88a61bd53d (diff)
downloadFreeBSD-src-054237d0bedad367db7ff79d400580da3e2f908f.zip
FreeBSD-src-054237d0bedad367db7ff79d400580da3e2f908f.tar.gz
Call sendsig() with the proc lock held and return with it held.
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 16d2463..c64af8f 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1153,10 +1153,8 @@ trapsignal(p, sig, code)
ktrpsig(p->p_tracep, sig, ps->ps_sigact[_SIG_IDX(sig)],
&p->p_sigmask, code);
#endif
- PROC_UNLOCK(p); /* XXX ??? */
(*p->p_sysent->sv_sendsig)(ps->ps_sigact[_SIG_IDX(sig)], sig,
&p->p_sigmask, code);
- PROC_LOCK(p);
SIGSETOR(p->p_sigmask, ps->ps_catchmask[_SIG_IDX(sig)]);
if (!SIGISMEMBER(ps->ps_signodefer, sig))
SIGADDSET(p->p_sigmask, sig);
@@ -1693,9 +1691,7 @@ postsig(sig)
p->p_code = 0;
p->p_sig = 0;
}
- PROC_UNLOCK(p);
(*p->p_sysent->sv_sendsig)(action, sig, &returnmask, code);
- PROC_LOCK(p);
}
}
OpenPOWER on IntegriCloud