On Thu, Feb 13, 2003 at 02:53:02PM +0000, Ted_Rule@flextech.co.uk wrote:
There is probably another caveat/clarification which should be added here....
On old glibc systems, which don't fix the issue for EITHER unix-dgram or unix-stream sockets, my partial fix has been to ensure keepalive(yes) on /dev/log and use unix-stream sockets instead of syslogd's default unix-dgram.
This ensures the problem doesn't occur on a SIGHUP, only on a complete restart of syslog-ng which is fortunately very rare.
By reverting to unix-dgram, on old glibc machines, the issue will resurface for both SIGHUP and restart of syslog-ng I believe as syslog-ng closes all unix-dgram on SIGHUP, so any update to FAQ et al needs to make clear that this fix should only be applied on glibc
2.2.? For glibc < 2.2 one probably has to revert to unix-stream and nasty kludges to the boot scripts of various daemons such as sendmail whose parent process never cleans up the "orphaned" /dev/log connection.
Allright, so what do we recommend for *restarting* syslog-ng? Modify the init scripts to shut down cron and sendmail, then shut down syslog-ng, start syslog-ng then start the other procs? I've suffered total system meltdowns from cron processes piling up after syslog-ng restarts. I know this is a real issue. -- Nate Campi http://www.campin.net