]> The Tcpdump Group git mirrors - tcpdump/blobdiff - setsignal.c
If we get SIGCHLD, restart whatever system call it interrupted.
[tcpdump] / setsignal.c
index a4b59cefe1bb562200e8a70af0caa1a723308fb9..6032835e578875a35abdac7450df376d107b5c8d 100644 (file)
@@ -78,6 +78,8 @@ RETSIGTYPE
 
        memset(&new, 0, sizeof(new));
        new.sa_handler = func;
+       if (sig == SIGCHLD)
+               new.sa_flags = SA_RESTART;
        if (sigaction(sig, &new, &old) < 0)
                return (SIG_ERR);
        return (old.sa_handler);