>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: