Shutting down pflogd gracefully
Pyun YongHyeon
yongari at kt-is.co.kr
Tue Oct 5 03:05:51 PDT 2004
On Tue, Oct 05, 2004 at 10:30:44AM +0200, Max Laier wrote:
> On Monday 04 October 2004 09:45, Pyun YongHyeon wrote:
> > Hi,
> >
> > When pf module is unloaded prior to termination of pflogd(8),
> > pflogd(8) takes up all available CPU cycles. This patch tries
> > to address the long standing issue. Comments?
> >
> > --- contrib/pf/pflogd/pflogd.c.orig Wed Sep 1 03:04:34 2004
> > +++ contrib/pf/pflogd/pflogd.c Mon Oct 4 16:18:51 2004
> > @@ -656,8 +656,13 @@
> > while (1) {
> > np = pcap_dispatch(hpcap, PCAP_NUM_PKTS,
> > dump_packet, (u_char *)dpcap);
> > - if (np < 0)
> > + if (np < 0) {
> > logmsg(LOG_NOTICE, "%s", pcap_geterr(hpcap));
> > +#ifdef __FreeBSD__
> > + /* check errno == ENXIO? */
> > + break;
> > +#endif
> > + }
> >
> > if (gotsig_close)
> > break;
>
> Committed with a minor change, such that I reordered the logmsg and the errno
> check in order to avoid errno overrides. Thanks.
>
Thanks a lot. :-)
> > While fixing the issue, I noticed log messages via syslog is not
> > gernerated. But in debugging mode(-D) outputting to stderr worked
> > ok.(Killing pflogd with kill doesn't generate "Exiting" message.)
> > Any ideas?
>
> It seems to be related to the priv. separation, as I get the:
> "pflogd[367]: [priv]: msg PRIV_OPEN_LOG received"
> messages, but nothing from the forked child (the working thread).
>
Ok, I will check it later.
Regards,
Pyun YongHyeon
--
Pyun YongHyeon <http://www.kr.freebsd.org/~yongari>
More information about the freebsd-pf
mailing list