summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2001-10-07 16:11:37 +0000
committeriedowse <iedowse@FreeBSD.org>2001-10-07 16:11:37 +0000
commitc0a87dce40181f158d17fdda9ee69070e167ecd9 (patch)
tree698cc0d2c84ff384bd5a1472f2b6ff0ca9837090 /sys/kern/kern_sig.c
parent006ac093289731f5518504629edb3a02acb09377 (diff)
downloadFreeBSD-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.
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c6
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))
OpenPOWER on IntegriCloud