diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2001-03-07 03:37:06 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2001-03-07 03:37:06 +0000 |
| commit | 19eb87d22a5314e238867d1e30894cc9dadf3ec4 (patch) | |
| tree | 086a326a81d3cd8d8bde0d8904c44ac51c8ed62b /sys/i386/linux/linux_sysvec.c | |
| parent | 412503ae464b30081da204e8388c9ccaf8e12dce (diff) | |
Notes
Diffstat (limited to 'sys/i386/linux/linux_sysvec.c')
| -rw-r--r-- | sys/i386/linux/linux_sysvec.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index dc20e07b2733..8050392b4353 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -246,13 +246,13 @@ linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) SIGDELSET(p->p_sigignore, SIGILL); SIGDELSET(p->p_sigcatch, SIGILL); SIGDELSET(p->p_sigmask, SIGILL); - PROC_UNLOCK(p); #ifdef DEBUG if (ldebug(sigreturn)) printf(LMSG("rt_sendsig: bad stack %p, oonstack=%x"), fp, oonstack); #endif psignal(p, SIGILL); + PROC_UNLOCK(p); return; } @@ -320,6 +320,7 @@ linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) * Process has trashed its stack; give it an illegal * instruction to halt it in its tracks. */ + PROC_LOCK(p); sigexit(p, SIGILL); /* NOTREACHED */ } @@ -404,8 +405,8 @@ linux_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) SIGDELSET(p->p_sigignore, SIGILL); SIGDELSET(p->p_sigcatch, SIGILL); SIGDELSET(p->p_sigmask, SIGILL); - PROC_UNLOCK(p); psignal(p, SIGILL); + PROC_UNLOCK(p); return; } @@ -454,6 +455,7 @@ linux_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) * Process has trashed its stack; give it an illegal * instruction to halt it in its tracks. */ + PROC_LOCK(p); sigexit(p, SIGILL); /* NOTREACHED */ } |
