syslog-1.4.1-12

Tomasz Pala gotar at polanet.pl
Mon Sep 20 13:26:20 CEST 2004


Is broken.

# /etc/rc.d/init.d/syslog restart
System logger service is not running.
Starting System logger service.....................................[ FAIL ]
syslogd: Already running.
# /etc/rc.d/init.d/syslog status
syslogd (pid 1300) is running...
# /etc/rc.d/init.d/syslog stop
System logger service is not running.
# /etc/rc.d/init.d/syslog restart
System logger service is not running.
Starting System logger service.....................................[ FAIL ]
syslogd: Already running.

I've traced it to the following:

# killall syslogd
# syslogd -m 0; echo $?
zsh: terminated  syslogd -m 0
143
# killall syslogd
# syslogd -m 0; echo $?
0
# killall syslogd
# syslogd -m 0; echo $?
0
# killall syslogd
# syslogd -m 0; echo $?
0
# killall syslogd
# syslogd -m 0; echo $?
zsh: terminated  syslogd -m 0
143

but I couldn't find the rule. In every case syslogd HAS started.
strace says:

open("/var/run/syslogd.pid", O_RDONLY)  = -1 ENOENT (No such file or
directory)
brk(0x8074000)                          = 0x8074000
fork()                                  = 1436
--- SIGTERM (Terminated) @ 0 (0) ---
+++ killed by SIGTERM +++

for 'broken' start, and:

open("/var/run/syslogd.pid", O_RDONLY)  = -1 ENOENT (No such file or directory)
brk(0x807c000)                          = 0x807c000
fork()                                  = 1477
rt_sigaction(SIGTERM, {0x804bad0, [TERM], SA_RESTORER|SA_RESTART, 0x46ef4718}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({300, 0}, 0xbc38ea64)         = -1 EINTR (Interrupted system call)
--- SIGTERM (Terminated) @ 0 (0) ---
exit_group(0)                           = ?

for good one. It looks like some race for me.

       -d     Turns on debug mode.  Using this the daemon will not  proceed  a
              fork(2)  to  set  itself in the background, but opposite to that

And with -d always returns 0.

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




More information about the pld-devel-en mailing list