No subject


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
SIGPIPE?

Unfortunately this problem is rare and not easily reproducable, but I'd
help testing a possible fix anyway, even if it takes time.


clemens




More information about the Dnsmasq-discuss mailing list