tcpdump mailing list archives
patch: make tcpdump cleanup on SIGPIPE
From: Jesper Peterson <jesper () endace com>
Date: Mon, 28 Jul 2003 12:48:52 +1200
Tcpdump isn't calling pcap_close when receiving a SIGPIPE. This is currently interacting with support for Endace DAG cards via libpcap. The DAG cards are mostly driven from userspace and like to be closed explicitly via either pcap_close() or exit(), neither of which is called if the signal isn't handled.
The attached patch conditionally applies to non-Win32 only, I presume that is the way to do it. I'm not sure exactly what the Win32 implications are.
-- Jesper Peterson, Senior Software Developer http://www.endace.com, +64 7 839 0540
Index: tcpdump.c =================================================================== RCS file: /tcpdump/master/tcpdump/tcpdump.c,v retrieving revision 1.209 diff -u -r1.209 tcpdump.c --- tcpdump.c 3 Jun 2003 23:32:42 -0000 1.209 +++ tcpdump.c 28 Jul 2003 00:27:57 -0000 @@ -703,6 +703,9 @@ } init_addrtoname(localnet, netmask); +#ifndef WIN32 + (void)setsignal(SIGPIPE, cleanup); +#endif /* WIN32 */ (void)setsignal(SIGTERM, cleanup); (void)setsignal(SIGINT, cleanup); /* Cooperate with nohup(1) */
Current thread:
- patch: make tcpdump cleanup on SIGPIPE Jesper Peterson (Jul 27)
- Re: patch: make tcpdump cleanup on SIGPIPE Guy Harris (Jul 29)