Bug: deadlock from msyslog
Eric S. Raymond
esr at thyrsus.com
Mon Mar 21 18:14:58 UTC 2016
Hal Murray <hmurray at megapathdsl.net>:
> A while (months) ago, we had troubles with msyslog scrambling output when
> called from the DNS thread and the main thread at the same time. That was
> fixed by adding a lock.
> That will deadlock if a signal handler calls msyslog when the signal goes off
> in the middle of a msyslog call.
> I poked around a bit. There are a few signal handlers that call msyslog. I
> think they can be deferred. It's probably worthwhile to study all the signal
> usage and make some notes.
> The only timing critical signal handler that I know about would be the one
> grabbing the time of received packets. That code doesn't get enabled by our
> current build system. NTP Classic uses it on NetBSD.
I just ported in the Classic fix "[Bug 2814] msyslog deadlock when signaled."
I think that'll do it for this one.
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
More information about the devel