diff options
author | Max Laier <mlaier@FreeBSD.org> | 2004-10-05 08:26:34 +0000 |
---|---|---|
committer | Max Laier <mlaier@FreeBSD.org> | 2004-10-05 08:26:34 +0000 |
commit | 22d6889b4d3eb8a5cb2aaaefe5bedb40e885b425 (patch) | |
tree | 3a10a20f5070d5d655a3494b0c3ce36cc7deb710 /contrib | |
parent | 90d186c0cb50caa9102a52fd16ee86a44c3d7196 (diff) | |
download | src-22d6889b4d3eb8a5cb2aaaefe5bedb40e885b425.tar.gz src-22d6889b4d3eb8a5cb2aaaefe5bedb40e885b425.zip |
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
Notes
Notes:
svn path=/head/; revision=136141
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/pf/pflogd/pflogd.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/pf/pflogd/pflogd.c b/contrib/pf/pflogd/pflogd.c index cb2719764f32..a8c3863fb935 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; |