diff options
author | iedowse <iedowse@FreeBSD.org> | 2001-10-07 16:11:37 +0000 |
---|---|---|
committer | iedowse <iedowse@FreeBSD.org> | 2001-10-07 16:11:37 +0000 |
commit | c0a87dce40181f158d17fdda9ee69070e167ecd9 (patch) | |
tree | 698cc0d2c84ff384bd5a1472f2b6ff0ca9837090 | |
parent | 006ac093289731f5518504629edb3a02acb09377 (diff) | |
download | FreeBSD-src-c0a87dce40181f158d17fdda9ee69070e167ecd9.zip FreeBSD-src-c0a87dce40181f158d17fdda9ee69070e167ecd9.tar.gz |
Fix a typo in do_sigaction() where sa_sigaction and sa_handler were
confused. Since sa_sigaction and sa_handler alias each other in a
union, the bug was completely harmless. This had been fixed as part
of the SIGCHLD changes in revision 1.125, but it was reverted when
they were backed out in revision 1.126.
-rw-r--r-- | sys/kern/kern_sig.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index c1ed0ff..88a24fe 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -257,11 +257,11 @@ do_sigaction(p, sig, act, oact, old) ps->ps_catchmask[_SIG_IDX(sig)] = act->sa_mask; SIG_CANTMASK(ps->ps_catchmask[_SIG_IDX(sig)]); if (act->sa_flags & SA_SIGINFO) { - ps->ps_sigact[_SIG_IDX(sig)] = act->sa_handler; - SIGADDSET(ps->ps_siginfo, sig); - } else { ps->ps_sigact[_SIG_IDX(sig)] = (__sighandler_t *)act->sa_sigaction; + SIGADDSET(ps->ps_siginfo, sig); + } else { + ps->ps_sigact[_SIG_IDX(sig)] = act->sa_handler; SIGDELSET(ps->ps_siginfo, sig); } if (!(act->sa_flags & SA_RESTART)) |