From "Stevens'" great Unix Network Programming bible .... "Traditionally , System V has returned the error EAGAIN for a non-blocking I/O operation that cannot be satisfied while Berkeley-derived implementations have returned the error EWOULDBLOCK. To confuse things even more, Posix.1 specifies that EAGAIN is used while Posix.1g specifes that EWOULDBLOCK is used. Fortunately, most current systems ( including SysV and 4.4BSD ) define these two error codes to be the same ( check <sys/errno.h ), so it doesn't matter which one we use. In this text we use EWOULDBLOCK, as specified by Posix.1g" Dontcha just lurrv so many standards.... Ted Balazs Scheidler <bazsi@balabit.hu> on 24/01/2003 09:03:25 Please respond to syslog-ng@lists.balabit.hu To: syslog-ng@lists.balabit.hu cc: (bcc: Ted Rule/160GPS/Flextech/UK) Subject: Re: [syslog-ng]syslog-ng 1.5.25 released On Thu, Jan 23, 2003 at 07:12:53PM +0100, Roberto Nibali wrote:
Would you care to explain to me this fix, please? As I read it, it only kicks in in case write(2) returns with a 0. But this 0 doesn't mean 0 bytes have been written, but something else. I'm a bit confused. Keep in mind that I haven't read your code all too well yet ;).
check fd_write in libol/src/io.c, which handles EINTR and EAGAIN and returns 0 instead of -1 for those reasons.
I see, thanks for the pointer (I'm surprised EWOULDBLOCK is portable enough).
Syslog-ng has been running on a couple of Unixes and nobody complained about EWOULDBLOCK. I think it is defined as EAGAIN on most platforms.
Additional question: Have you or anyone else done any tests with O_SYNC or mounting the log partition with noatime? I'm asking because I'm trying to isolate a performance issue on a central loghost.
O_SYNC would certainly increase your load. noatime could help though. Checking the output of vmstat (disk i/o, swap i/o, system and user cpu time spent) usually helps locating performance issues.
thanks for the report.
I should also like to ask you about the status of the template() patch [1] done by one of my team mates. He's not working on this project anymore and I've taken over. If I get around to fix your concerns mentioned in [2], would you still consider it for inclusion into 1.6.0?
yes. -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1 _______________________________________________ syslog-ng maillist - syslog-ng@lists.balabit.hu https://lists.balabit.hu/mailman/listinfo/syslog-ng Frequently asked questions at http://www.campin.net/syslog-ng/faq.html ************************************************************************************************ This E-mail message, including any attachments, is intended only for the person or entity to which it is addressed, and may contain confidential information. If you are not the intended recipient, any review, retransmission, disclosure, copying, modification or other use of this E-mail message or attachments is strictly forbidden. If you have received this E-mail message in error, please contact the author and delete the message and any attachments from your computer. You are also advised that the views and opinions expressed in this E-mail message and any attachments are the author's own, and may not reflect the views and opinions of FLEXTECH Television Limited. ************************************************************************************************