aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/inetd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/networking/inetd.c b/networking/inetd.c
index b2b0f7309..5388bf789 100644
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -1273,7 +1273,7 @@ inetd_main (int argc, char *argv[])
pid_t pid;
char buf[50];
char *stoomany;
- sigset_t omask;
+ sigset_t omask, wait_mask;
#ifdef INETD_SETPROCTITLE
extern char **environ;
@@ -1364,7 +1364,7 @@ inetd_main (int argc, char *argv[])
sigaction (SIGINT, &sa, NULL);
sa.sa_handler = SIG_IGN;
sigaction (SIGPIPE, &sa, &sapipe);
-
+ memset(&wait_mask, 0, sizeof(wait_mask));
{
/* space for daemons to overwrite environment for ps */
#define DUMMYSIZE 100
@@ -1383,7 +1383,7 @@ inetd_main (int argc, char *argv[])
if (nsock == 0) {
Block_Using_Signals(omask);
while (nsock == 0)
- sigpause (0L);
+ sigsuspend (&wait_mask);
sigprocmask(SIG_UNBLOCK, &omask, NULL);
}