This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On ÐÐÑ, 2006-09-23 at 10:05 -0400, Daniel Jacobowitz wrote: > 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. Thank you very much for your answer! It points me to the right direction. Both syslog() and fork() is non-reentrant functions so if I really want to use syslog from signal handler I have to wrap all non-reentrant functions with futex's or may be use some global variable to avoid simultaneous calls to this functions. Or better to follow your suggestion and avoid syslog() in handler. Thank you again, Peter.
Attachment:
signature.asc
Description: This is a digitally signed message part
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |