diff options
author | jraynard <jraynard@FreeBSD.org> | 1998-02-28 15:14:00 +0000 |
---|---|---|
committer | jraynard <jraynard@FreeBSD.org> | 1998-02-28 15:14:00 +0000 |
commit | aaccbfd01dd306f8be25275352d64d20a2251ba6 (patch) | |
tree | 7a97117d10125a4453fecdf0c84afb5cc91167aa /usr.sbin | |
parent | b2f54112710762780367f567ce6ebc676abc9bc6 (diff) | |
download | FreeBSD-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.c | 14 |
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]); /* |