syslog-1.4.1-12

Tomasz Pala gotar at polanet.pl
Sat Sep 25 00:38:11 CEST 2004


On Sat, Sep 25, 2004 at 00:00:42 +0200, Tomasz Pala wrote:

> wrong, so I didn't have any choice, must have switched. Couldn't fix it,
> NOBODY CARES, so there's no place for it in Ac.

OK, I've got it: syslogd.c, fork() in line 893.

[...]
                      if (fork()) {
                                /*
                                 * Parent process
                                 */
                                signal (SIGTERM, doexit);
                                sleep(300);
                                /*
                                 * Not reached unless something major went wrong.  5
                                 * minutes should be a fair amount of time to wait.
                                 * Please note that this procedure is important since
                                 * the father must not exit before syslogd isn't
                                 * initialized or the klogd won't be able to flush its
                                 * logs.  -Joey
                                 */
                                exit(1);
                        }
sleep(3);
                        num_fds = getdtablesize();
                        for (i= 0; i < num_fds; i++)
[...]

After adding sleep(3) line it seems to work, but as I expected - this is
race.

OK, you've got everything to fix it. And don't say I've done nothing.

-- 
GoTaR <priv0.onet.pl->gotar>
http://vfmg.sourceforge.net/




More information about the pld-devel-en mailing list