On Wed, 2011-03-02 at 07:31 +0100, Valentijn Sessink wrote:
Op 01-03-11 22:40, Balazs Scheidler schreef:
It depends on what the write() syscall returns to syslog-ng. The only way to check that is to use strace on the syslog-ng process and see if writing the proc file returns failure on write or not.
OK, so I'm just lucky for not forcing sync() on this file.
Would there be any way around this, i.e. a way to force syslog-ng to act as if a certain message has been delivered OK, without retry?
well, not currently. But with this patch it can: commit bae327dc1754909bba62b09c7a5dda6dadf534eb Author: Balazs Scheidler <bazsi@balabit.hu> Date: Wed Mar 2 10:42:17 2011 +0100 LogWriter: added support for a new flag 'ignore-errors' This flag make syslog-ng ignore write errors, since in special cases a write error may indicate a temporary failure related to the current message being written out. Such an example is /proc/net/xt_recent/violators, where an ill formatted message will cause a write error, but suspending the destination because of that is not good. The LogWriter will cancel the complete I/O operation, e.g. it is not recommended to use flush_lines() or any other kind of write coalescing. Reported-By: Valentijn Sessink <valentyn@blub.net> Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> It is on 3.3 currently, but should probably be quite easy to backport it to 3.2 -- Bazsi