Tue Sep 14 07:33:07 BST 2010
giving out IPs and DNS service. I'm using a service supervisor for
dnsmasq, which logs to stderr and that output is sent to a file by
a special logging daemon (not syslog).
I was once able to find a concrete problem: dnsmasq couldn't send
further log entries, because the logger had a temporary overrun and
wasn't able to get rid of the log fast enough.
Now in the source I see these lines:
src/log.c, lines 194ff:
/* Once a stream socket hits EPIPE, we have to close and re-open
(we ignore SIGPIPE) */
if (errno == EPIPE) ...
Could it be that the case of logging to stderr connected to a pipe
suffers from the same condition and hangs up dnsmasq which ignores
Unfortunately this problem is rare and not easily reproducable, but I'd
help testing a possible fix anyway, even if it takes time.
More information about the Dnsmasq-discuss