diff options
author | jhb <jhb@FreeBSD.org> | 2001-05-11 23:17:05 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-05-11 23:17:05 +0000 |
commit | 465be778a85ef9ed61c5013d3ae2580aca3b727a (patch) | |
tree | 2e73f933a0f6dfc61d327367ccebf1f5f431e48f /sys/alpha | |
parent | 4fd5981b6a1b6e6050ef6758bf9dcb6bd890c459 (diff) | |
download | FreeBSD-src-465be778a85ef9ed61c5013d3ae2580aca3b727a.zip FreeBSD-src-465be778a85ef9ed61c5013d3ae2580aca3b727a.tar.gz |
Allow sendsig() to hand the proc lock off to osendsig() rather than having
sendsig() release the lock just so it can call osendsig() and have
osendsig() acquire the lock.
Diffstat (limited to 'sys/alpha')
-rw-r--r-- | sys/alpha/alpha/machdep.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c index 2ea7df6..60e9c86 100644 --- a/sys/alpha/alpha/machdep.c +++ b/sys/alpha/alpha/machdep.c @@ -1238,7 +1238,7 @@ osendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) oonstack = sigonstack(alpha_pal_rdusp()); fsize = sizeof ksi; rndfsize = ((fsize + 15) / 16) * 16; - PROC_LOCK(p); + PROC_LOCK_ASSERT(p, MA_OWNED); psp = p->p_sigacts; /* @@ -1342,7 +1342,6 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) PROC_LOCK(p); psp = p->p_sigacts; if (SIGISMEMBER(psp->ps_osigset, sig)) { - PROC_UNLOCK(p); osendsig(catcher, sig, mask, code); return; } |