diff options
author | Philip Guenthe <guenther@cvs.openbsd.org> | 2011-07-11 15:40:48 +0000 |
---|---|---|
committer | Philip Guenthe <guenther@cvs.openbsd.org> | 2011-07-11 15:40:48 +0000 |
commit | 9d36a78df6815757d9e70d30a2c86159ecc0a7a7 (patch) | |
tree | 95784ef05743f932548f12cb7a59e5d59dde8d4d /sys/kern/kern_sig.c | |
parent | 4f69e977bd7d4a9b7d8480fa58774ca13beac905 (diff) |
Revert art@'s moving around of the KERNEL_LOCK()/KERNEL_UNLOCK() calls,
as it causes hangs in some ports, including libsigsegv's configure script
confirmed by krw@, landry@
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r-- | sys/kern/kern_sig.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 97870a3dff8..3ee7dc8bbcd 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_sig.c,v 1.125 2011/07/09 05:31:26 matthew Exp $ */ +/* $OpenBSD: kern_sig.c,v 1.126 2011/07/11 15:40:47 guenther Exp $ */ /* $NetBSD: kern_sig.c,v 1.54 1996/04/22 01:38:32 christos Exp $ */ /* @@ -682,11 +682,9 @@ void trapsignal(struct proc *p, int signum, u_long code, int type, union sigval sigval) { - struct sigacts *ps; + struct sigacts *ps = p->p_sigacts; int mask; - KERNEL_LOCK(); - ps = p->p_sigacts; mask = sigmask(signum); if ((p->p_flag & P_TRACED) == 0 && (ps->ps_sigcatch & mask) != 0 && (p->p_sigmask & mask) == 0) { @@ -716,7 +714,6 @@ trapsignal(struct proc *p, int signum, u_long code, int type, p->p_sigval = sigval; ptsignal(p, signum, STHREAD); } - KERNEL_UNLOCK(); } /* |