[syslog-ng]syslog-ng restart: postfix/nqmgr logline missing on next received e-mail

Achim Gsell achim@cybercity.ch
Thu, 13 Feb 2003 14:04:52 +0100


On Thursday 13 February 2003 10:56, Balazs Scheidler wrote:
> On Thu, Feb 13, 2003 at 09:54:52AM +0100, Peter Bieringer wrote:
> > Pls. don't tell me that I have to restart every service after I
> > restart syslog-ng (already known: crond, now postfix, which one is
> > still missing?).
> > This would be a very unnice "feature". If bug is in a common used
> > glibc-version, then imho a workaround by syslog-ng would be required.
> > I don't like to loose loglines, you sure not, too.
> >
> > Does this also happen if old syslogd would be used? Don't believe so.
> >
> > It's all very strange...looks like I have to switch back to syslog,
> > loosing all the nice features :-(
>
> the same happens to old syslogd as well as this is a libc issue. just try
> it and you will see.

Sorry, but at least on a Linux 2.4 system this is wrong!

I just tested it:
With the old syslogd 1.4.1 no message will be lost:

Feb 13 13:50:16 test ./syslog_test[183]: 21
Feb 13 13:50:21 test ./syslog_test[183]: 22
Feb 13 13:50:23 test exiting on signal 15
Feb 13 13:50:24 test syslogd 1.4.1: restart.
Feb 13 13:50:26 test ./syslog_test[183]: 23
Feb 13 13:50:31 test ./syslog_test[183]: 24


The same with syslog-ng 1.5.25:

Feb 13 13:34:03 s_local@Elwing ./syslog_test[2118]: 71
Feb 13 13:34:08 s_local@Elwing ./syslog_test[2118]: 72
Feb 13 13:34:08 s_local@Elwing syslog-ng[2204]: syslog-ng version 1.5.25 going down
Feb 13 13:34:09 s_local@Elwing syslog-ng[2252]: syslog-ng version 1.5.25 starting
Feb 13 13:34:18 s_local@Elwing ./syslog_test[2118]: 74
Feb 13 13:34:23 s_local@Elwing ./syslog_test[2118]: 75

Message 73 is missing!

The test program "syslog_test.c":

#include <syslog.h>

int main( int argc, char *argv[] ) {
  int cnt=0;

  openlog( argv[0], LOG_NDELAY|LOG_PID, LOG_DAEMON );

  while( 1 ) {
    syslog( LOG_INFO, "%d", ++cnt );
    sleep( 5 );
  }

  return( 0 );
}

All programs (syslog-ng, syslogd, syslog_test) are linked with
glibc-2.3.1.

Achim