summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorjraynard <jraynard@FreeBSD.org>1998-02-28 15:14:00 +0000
committerjraynard <jraynard@FreeBSD.org>1998-02-28 15:14:00 +0000
commitaaccbfd01dd306f8be25275352d64d20a2251ba6 (patch)
tree7a97117d10125a4453fecdf0c84afb5cc91167aa /usr.sbin
parentb2f54112710762780367f567ce6ebc676abc9bc6 (diff)
downloadFreeBSD-src-aaccbfd01dd306f8be25275352d64d20a2251ba6.zip
FreeBSD-src-aaccbfd01dd306f8be25275352d64d20a2251ba6.tar.gz
Don't assume sigset_t and int are equivalent. Also, get
sigprocmask arguments the right way round.
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/syslogd/syslogd.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c
index fc871d5..f4496d7 100644
--- a/usr.sbin/syslogd/syslogd.c
+++ b/usr.sbin/syslogd/syslogd.c
@@ -42,7 +42,7 @@ static const char copyright[] =
static char sccsid[] = "@(#)syslogd.c 8.3 (Berkeley) 4/4/94";
#endif
static const char rcsid[] =
- "$Id$";
+ "$Id: syslogd.c,v 1.27 1997/10/20 12:55:49 charnier Exp $";
#endif /* not lint */
/*
@@ -1668,11 +1668,13 @@ p_open(prog, pid)
/* we are royally screwed anyway */
return -1;
- mask = sigmask(SIGALRM) | sigmask(SIGHUP);
- sigprocmask(SIG_BLOCK, &omask, &mask);
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGALRM);
+ sigaddset(&mask, SIGHUP);
+ sigprocmask(SIG_BLOCK, &mask, &omask);
switch ((*pid = fork())) {
case -1:
- sigprocmask(SIG_SETMASK, 0, &omask);
+ sigprocmask(SIG_SETMASK, &omask, 0);
close(nulldesc);
return -1;
@@ -1691,7 +1693,7 @@ p_open(prog, pid)
*/
signal(SIGALRM, SIG_IGN);
signal(SIGHUP, SIG_IGN);
- sigprocmask(SIG_SETMASK, 0, &omask);
+ sigprocmask(SIG_SETMASK, &omask, 0);
signal(SIGPIPE, SIG_DFL);
signal(SIGQUIT, SIG_DFL);
signal(SIGALRM, SIG_DFL);
@@ -1707,7 +1709,7 @@ p_open(prog, pid)
_exit(255);
}
- sigprocmask(SIG_SETMASK, 0, &omask);
+ sigprocmask(SIG_SETMASK, &omask, 0);
close(nulldesc);
close(pfd[0]);
/*
OpenPOWER on IntegriCloud