summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>1995-03-21 21:47:04 +0000
committermycroft <mycroft@NetBSD.org>1995-03-21 21:47:04 +0000
commitebeae88da2b140f1549cb67e361316e0706b3b2f (patch)
treeeef0c6a43b36fd97a1d0b6a84de719f025318cea /libexec
parentd1a49b5d2793298d3c0e1507253b8c7e200eb043 (diff)
Use POSIX signals.
Diffstat (limited to 'libexec')
-rw-r--r--libexec/comsat/comsat.c10
-rw-r--r--libexec/ftpd/popen.c11
2 files changed, 15 insertions, 6 deletions
diff --git a/libexec/comsat/comsat.c b/libexec/comsat/comsat.c
index 60709f7be2d..01455984953 100644
--- a/libexec/comsat/comsat.c
+++ b/libexec/comsat/comsat.c
@@ -39,7 +39,7 @@ static char copyright[] =
#ifndef lint
/*static char sccsid[] = "from: @(#)comsat.c 8.1 (Berkeley) 6/4/93";*/
-static char rcsid[] = "$Id: comsat.c,v 1.6 1994/08/06 23:26:39 jtc Exp $";
+static char rcsid[] = "$Id: comsat.c,v 1.7 1995/03/21 21:47:04 mycroft Exp $";
#endif /* not lint */
#include <sys/param.h>
@@ -89,6 +89,7 @@ main(argc, argv)
register int cc;
int fromlen;
char msgbuf[100];
+ sigset_t sigset;
/* verify proper invocation */
fromlen = sizeof(from);
@@ -124,11 +125,14 @@ main(argc, argv)
}
if (!nutmp) /* no one has logged in yet */
continue;
- sigblock(sigmask(SIGALRM));
+ sigemptyset(&sigset);
+ sigaddset(&sigset, SIGALRM);
+ sigprocmask(SIG_SETMASK, &sigset, NULL);
msgbuf[cc] = '\0';
(void)time(&lastmsgtime);
mailfor(msgbuf);
- sigsetmask(0L);
+ sigemptyset(&sigset);
+ sigprocmask(SIG_SETMASK, &sigset, NULL);
}
}
diff --git a/libexec/ftpd/popen.c b/libexec/ftpd/popen.c
index 725583abf8e..c8500804ece 100644
--- a/libexec/ftpd/popen.c
+++ b/libexec/ftpd/popen.c
@@ -37,7 +37,7 @@
#ifndef lint
static char sccsid[] = "@(#)popen.c 8.3 (Berkeley) 4/6/94";
-static char rcsid[] = "$Id: popen.c,v 1.3 1994/06/29 01:49:50 deraadt Exp $";
+static char rcsid[] = "$Id: popen.c,v 1.4 1995/03/21 21:47:19 mycroft Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -151,6 +151,7 @@ ftpd_pclose(iop)
{
int fdes, omask, status;
pid_t pid;
+ sigset_t sigset, osigset;
/*
* pclose returns -1 if stream is not associated with a
@@ -159,10 +160,14 @@ ftpd_pclose(iop)
if (pids == 0 || pids[fdes = fileno(iop)] == 0)
return (-1);
(void)fclose(iop);
- omask = sigblock(sigmask(SIGINT)|sigmask(SIGQUIT)|sigmask(SIGHUP));
+ sigemptyset(&sigset);
+ sigaddset(&sigset, SIGINT);
+ sigaddset(&sigset, SIGQUIT);
+ sigaddset(&sigset, SIGHUP);
+ sigprocmask(SIG_BLOCK, &sigset, &osigset);
while ((pid = waitpid(pids[fdes], &status, 0)) < 0 && errno == EINTR)
continue;
- (void)sigsetmask(omask);
+ sigprocmask(SIG_SETMASK, &osigset, NULL);
pids[fdes] = 0;
if (pid < 0)
return (pid);