fork() and syslog() locks each other. How to avoid?

Daniel Jacobowitz drow@false.org
Sat Sep 23 14:05:00 GMT 2006


On Sat, Sep 23, 2006 at 06:00:13PM +0400, Peter Volkov (pva) wrote:
> I did not checked but seems that fork function takes mutex which syslog
> will waits for it. If I'm right then the question is what is the right
> way to avoid such situations but to keep program behavior?

Avoid calling syslog from a signal handler.  Take a look at POSIX, and
you'll find a list of which C library functions are required to be safe
when called from signal handlers - and syslog is not on it.

-- 
Daniel Jacobowitz
CodeSourcery



More information about the Libc-alpha mailing list