>Number:         795
>Category:       general
>Synopsis:       a flood of signals can confuse reclaim_child_processes()
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache (Apache HTTP Project)
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Thu Jun 26 15:20:00 1997
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>Release:        1.2.0
>Environment:
any
>Description:
The select calls in reclaim_child_processes() can be cut short by signal
interruptions.  If enough signals are coming, none of the wait times
will happen and the lot's of unnecessary errors will be logged.  
The child processes should still die just the same, though.
>How-To-Repeat:
I'm not sure if you can.  It might only be a theoretical problem ;)
I found it by in a piece of code I wrote that was very similar to this
routine and haven't actually tested it in Apache.
>Fix:
I had success masking off certain signals around the select() statement.
In particular, I call sigprocmask to mask and unmask SIGHUP and SIGTERM 
before and after the select().  Apache might want to do these and 
SIGUSR1
>Audit-Trail:
>Unformatted:


Reply via email to