diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index 1ef6f29ff0d3..0727b2bc2dab 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -382,7 +382,7 @@ main(argc, argv) sigaddset(&mask, SIGHUP); sact.sa_handler = reapchild; sact.sa_mask = mask; - sact.sa_flags = 0; + sact.sa_flags = SA_RESTART; (void)sigaction(SIGCHLD, &sact, NULL); (void)signal(SIGALRM, domark); (void)signal(SIGPIPE, SIG_IGN); /* We'll catch EPIPE instead. */ @@ -460,7 +460,7 @@ main(argc, argv) sigaddset(&mask, SIGCHLD); sact.sa_handler = init; sact.sa_mask = mask; - sact.sa_flags = 0; + sact.sa_flags = SA_RESTART; (void)sigaction(SIGHUP, &sact, NULL); tvp = &tv;