diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 2002-11-02 07:41:04 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2002-11-02 07:41:04 +0000 |
| commit | 99d45c5f9db3ecb4db1d559a90ba6e80b78bda3c (patch) | |
| tree | 9ec236b7845aeb7c7bb609ba462182ecb4a76e39 /sys/i386 | |
| parent | c1fd52ba742fe5d4b1e4252a174631a5d8252182 (diff) | |
Notes
Diffstat (limited to 'sys/i386')
| -rw-r--r-- | sys/i386/linux/linux_sysvec.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index cad766e2b95c..63ff5d701f1b 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -299,6 +299,8 @@ linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) if (sig <= p->p_sysent->sv_sigsize) sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; + bzero(&frame, sizeof(frame)); + frame.sf_handler = catcher; frame.sf_sig = sig; frame.sf_siginfo = &fp->sf_si; @@ -391,7 +393,6 @@ linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) * frame pointer, it returns to the user * specified pc, psl. */ - static void linux_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) { @@ -436,6 +437,8 @@ linux_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) if (sig <= p->p_sysent->sv_sigsize) sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; + bzero(&frame, sizeof(frame)); + frame.sf_handler = catcher; frame.sf_sig = sig; @@ -464,8 +467,6 @@ linux_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) frame.sf_sc.sc_err = regs->tf_err; frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code); - bzero(&frame.sf_fpstate, sizeof(struct l_fpstate)); - for (i = 0; i < (LINUX_NSIG_WORDS-1); i++) frame.sf_extramask[i] = lmask.__bits[i+1]; |
