summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-05-11 23:17:05 +0000
committerjhb <jhb@FreeBSD.org>2001-05-11 23:17:05 +0000
commit465be778a85ef9ed61c5013d3ae2580aca3b727a (patch)
tree2e73f933a0f6dfc61d327367ccebf1f5f431e48f
parent4fd5981b6a1b6e6050ef6758bf9dcb6bd890c459 (diff)
downloadFreeBSD-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.
-rw-r--r--sys/alpha/alpha/machdep.c3
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;
}
OpenPOWER on IntegriCloud