aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authorTim J. Robbins <tjr@FreeBSD.org>2003-03-09 01:40:55 +0000
committerTim J. Robbins <tjr@FreeBSD.org>2003-03-09 01:40:55 +0000
commitef3dab76bfd7bed70b62cf19a5f7f346ff54e7fc (patch)
tree57c2940c1be148a3c23207779cad8bd858887f88 /sys/kern/kern_sig.c
parent4ebd61a3cf6ad2cadc490986b4c296f73f80cbfd (diff)
downloadsrc-ef3dab76bfd7bed70b62cf19a5f7f346ff54e7fc.tar.gz
src-ef3dab76bfd7bed70b62cf19a5f7f346ff54e7fc.zip
Hold the proc lock while accessing p_procsig in trapsignal().
Notes
Notes: svn path=/head/; revision=112014
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 712f76a9bf3f..91720980af3e 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1268,9 +1268,10 @@ trapsignal(p, sig, code)
register int sig;
u_long code;
{
- register struct sigacts *ps = p->p_sigacts;
+ register struct sigacts *ps;
PROC_LOCK(p);
+ ps = p->p_sigacts;
if ((p->p_flag & P_TRACED) == 0 && SIGISMEMBER(p->p_sigcatch, sig) &&
!SIGISMEMBER(p->p_sigmask, sig)) {
p->p_stats->p_ru.ru_nsignals++;