Hi, The pipe / file code is almost the same within syslog-ng. For files there is no point to use select() as it would always indicate readability that's why regular files have to get stat()-ed periodically, this is what happens when follow-freq isn't 0. For pipes there is no point to use stat() (other than detecting that the pipe was replaced by another) however select()/poll()/epoll() indicates that there is content to read. Syslog-ng from version 2 to 3.2.x doesn't do this on its own but uses glib which uses select() under the hood to monitor fds. Of course I could be wrong so feel free to correct me :) Regards, Sandor On Wed, Sep 28, 2011 at 3:57 PM, Patrick H. <syslogng@feystorm.net> wrote:
I havent looked at the code, but whats the behavior that is used when reading from pipes? There's 2 ways of seeing if theres data on a pipe, doing a periodic non-blocking read, and doing a select. From the documentation it sounded like doing a non-blocking read was the default behavior to check if theres data on the pipe, and that setting follow-freq to 0 changed it to a select() call. So without having this option available, which does it use?
-Patrick
Sent: Wed Sep 28 2011 01:22:39 GMT-0600 (MST) From: bugzilla@bugzilla.balabit.com To: syslog-ng@lists.balabit.hu Subject: [syslog-ng] [Bug 135] pipe() source missing follow_freq() option
https://bugzilla.balabit.com/show_bug.cgi?id=135
Balazs Scheidler <bazsi@balabit.hu> changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |frobert@balabit.hu
--- Comment #1 from Balazs Scheidler <bazsi@balabit.hu> 2011-09-28 09:22:39 --- No point in allowing follow-freq() for pipe sources, so this is a documentation bug and should be removed from there.
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq