summaryrefslogtreecommitdiffstats
path: root/sys/amd64/ia32/ia32_signal.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2004-02-21 23:34:42 +0000
committerpeter <peter@FreeBSD.org>2004-02-21 23:34:42 +0000
commit7f7fe0e81c0a2d9050567f9b56fb6d82aa0990f5 (patch)
tree8a384b45da72c57fad9dbf963ee335fe7da583a3 /sys/amd64/ia32/ia32_signal.c
parentecf8be493e57ec138975b2d672e57b4be55d4607 (diff)
downloadFreeBSD-src-7f7fe0e81c0a2d9050567f9b56fb6d82aa0990f5.zip
FreeBSD-src-7f7fe0e81c0a2d9050567f9b56fb6d82aa0990f5.tar.gz
Catch up with some proc/procsig locking improvements that were made to the
i386 version and were not merged over.
Diffstat (limited to 'sys/amd64/ia32/ia32_signal.c')
-rw-r--r--sys/amd64/ia32/ia32_signal.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c
index 966b826..1fd6b92 100644
--- a/sys/amd64/ia32/ia32_signal.c
+++ b/sys/amd64/ia32/ia32_signal.c
@@ -235,8 +235,7 @@ freebsd4_ia32_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_ucontext = (register_t)&sfp->sf_uc;
- PROC_LOCK(p);
- if (SIGISMEMBER(p->p_sigacts->ps_siginfo, sig)) {
+ if (SIGISMEMBER(psp->ps_siginfo, sig)) {
/* Signal handler installed with SA_SIGINFO. */
sf.sf_siginfo = (u_int32_t)(uintptr_t)&sfp->sf_si;
sf.sf_ah = (u_int32_t)(uintptr_t)catcher;
@@ -252,7 +251,6 @@ freebsd4_ia32_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
sf.sf_ah = (u_int32_t)(uintptr_t)catcher;
}
mtx_unlock(&psp->ps_mtx);
- PROC_UNLOCK(p);
/*
* Copy the sigframe out to the user's stack.
@@ -354,8 +352,7 @@ ia32_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_ucontext = (register_t)&sfp->sf_uc;
- PROC_LOCK(p);
- if (SIGISMEMBER(p->p_sigacts->ps_siginfo, sig)) {
+ if (SIGISMEMBER(psp->ps_siginfo, sig)) {
/* Signal handler installed with SA_SIGINFO. */
sf.sf_siginfo = (u_int32_t)(uintptr_t)&sfp->sf_si;
sf.sf_ah = (u_int32_t)(uintptr_t)catcher;
@@ -371,7 +368,6 @@ ia32_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
sf.sf_ah = (u_int32_t)(uintptr_t)catcher;
}
mtx_unlock(&psp->ps_mtx);
- PROC_UNLOCK(p);
/*
* Copy the sigframe out to the user's stack.
OpenPOWER on IntegriCloud