Aaron Bannert <[EMAIL PROTECTED]> writes:

> I disagree with this patch. If we are getting failures on locks
> then we have a bug somewhere and I'd rather not see us cover up
> the problem by decreasing the verbosity.

Here is the sequence of events:

1) a thread in child process A is waiting on semaphore
2) graceful restart triggered
3) parent process cleans up the semaphore
4) that thread in child process A gets a failure (EIDRM) from the
   semaphore obtain and gracefully brings down other threads in child
   process A

Normally in step 4 we'd get a high-severity log message.   I changed
the code to set the severity to debug since everything is working as
designed.  The process isn't going away prematurely, threads with
active connections have a chance to finish serving the connection,
etc.

A variation on the sequence above is

1) a thread in child process B holds the semaphore and is blocked in
   poll() 
2) graceful restart triggered
3) parent process cleans up semaphore and wakes up children
4) that thread in child process B returns from poll() and gets a
   failure from the semaphore release and tries to gracefully bring
   down other threads in child process B

As with the previous scenario, everything is working fine.  There is
no sense having a high-priority log message about an expected
condition. 
-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Reply via email to