Re: bind and syslog
On Sat, Dec 18, 1999 at 11:14:19PM +0100, Marek Habersack wrote:
> * Balazs Scheidler said:
> > > it anyway? It's not like openlog() returns a handle that's passed to
> > > syslog. Why force every user to deal with this? Especially since there's
> > > no real hint on the man page that it might be necessary. (Hmm, I guess
> > > that's the one man page I shouldn't complain about...:-))
> > I've just checked out glibc 2.1.2, and it does have error checking. If the
> > connection to the local syslogd is broken (e.g. a SIGPIPE or EPIPE is
> > received), the connection is reopened, and the message triggering EPIPE is
> > written to the console.
> Hmm.. then what I wrote in my previous mail doesn't hold valid anymore. Does
> the libc keep per-application state?
I don't know what you mean. Each process gets a shared copy of libc's code,
and a private data block. So, if I understand correctly your question, the
answer is yes.
> > It's unfortunate, that sendmail opens a connection at startup, and this
> > connection is inherited through fork()-s, and if syslogd is restarted, the
> > broken connection is inherited, thus the first message of each forked
> > children is lost, and is sent to the console.
> Same happens with bind, I imagine. And also on 2.3.x kernels syslog doesn't
> start at all in the system bootup sequence - one has to start it by manually
> executing usin /etc/init.d/sys*log start. I guess it's some problem with the
> unix domain sockets on 2.3.x.
Someone else has also reported problems on 2.3.x with mmapped sockets. But I
don't know what those could be.
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1