]> The Tcpdump Group git mirrors - tcpdump/blobdiff - tcpdump.c
Refine the change log. [skip ci]
[tcpdump] / tcpdump.c
index 73e097196d85ef1c961e5581de28aa72dddbcd50..515edf5d47c2bf72470cb8b1f2af34bbbb32a19e 100644 (file)
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -2727,7 +2727,7 @@ DIAG_ON_ASSIGN_ENUM
 
        free(cmdbuf);
        pcap_freecode(&fcode);
-       exit_tcpdump(status == -1 ? 1 : 0);
+       exit_tcpdump(status == -1 ? S_ERR_HOST_PROGRAM : S_SUCCESS);
 }
 
 /*
@@ -2743,7 +2743,14 @@ static void
 
        memset(&new, 0, sizeof(new));
        new.sa_handler = func;
-       if (sig == SIGCHLD)
+       if ((sig == SIGCHLD)
+# ifdef SIGNAL_REQ_INFO
+               || (sig == SIGNAL_REQ_INFO)
+# endif
+# ifdef SIGNAL_FLUSH_PCAP
+               || (sig == SIGNAL_FLUSH_PCAP)
+# endif
+               )
                new.sa_flags = SA_RESTART;
        if (sigaction(sig, &new, &old) < 0)
                return (SIG_ERR);