diff options
author | peter <peter@FreeBSD.org> | 2004-02-21 23:34:42 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2004-02-21 23:34:42 +0000 |
commit | 7f7fe0e81c0a2d9050567f9b56fb6d82aa0990f5 (patch) | |
tree | 8a384b45da72c57fad9dbf963ee335fe7da583a3 /sys/amd64/ia32/ia32_signal.c | |
parent | ecf8be493e57ec138975b2d672e57b4be55d4607 (diff) | |
download | FreeBSD-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.c | 8 |
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. |