From c5e647a2a2fa75aa1f5c201c4f0375463d7ac777 Mon Sep 17 00:00:00 2001 From: mlaier Date: Tue, 5 Oct 2004 08:26:34 +0000 Subject: Make pflogd cope with module unload (and the sudden disappearing of pflog0). Instead of eating all the available CPU we now shutdown gracefully. Submitted by: yongari MFC after: 3 days --- contrib/pf/pflogd/pflogd.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'contrib/pf/pflogd') diff --git a/contrib/pf/pflogd/pflogd.c b/contrib/pf/pflogd/pflogd.c index cb27197..a8c3863 100644 --- a/contrib/pf/pflogd/pflogd.c +++ b/contrib/pf/pflogd/pflogd.c @@ -656,8 +656,16 @@ main(int argc, char **argv) while (1) { np = pcap_dispatch(hpcap, PCAP_NUM_PKTS, dump_packet, (u_char *)dpcap); - if (np < 0) + if (np < 0) { +#ifdef __FreeBSD__ + if (errno == ENXIO) { + logmsg(LOG_ERR, + "Device not/no longer configured"); + break; + } +#endif logmsg(LOG_NOTICE, "%s", pcap_geterr(hpcap)); + } if (gotsig_close) break; -- cgit v1.1