From: Alexandre Ferrieux Date: Sat, 16 Jul 2022 19:34:39 +0000 (+0200) Subject: Set SA_RESTART on non-lethal signals (REQ_INFO, FLUSH_PCAP) to avoid corrupting binar... X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/8a28e07f3bfd2a031491db55173370e10dc074e3 Set SA_RESTART on non-lethal signals (REQ_INFO, FLUSH_PCAP) to avoid corrupting binary pcap output --- diff --git a/tcpdump.c b/tcpdump.c index e028d2e7..515edf5d 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -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);