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