The following reply was made to PR general/792; it has been noted by GNATS.

From: Dean Gaudet <[EMAIL PROTECTED]>
To: Nathan J Kurz <[EMAIL PROTECTED]>
Subject: Re: general/792: race condition with SIGUSR1 graceful restart
Date: Fri, 27 Jun 1997 00:55:25 -0700 (PDT)

 
 On Thu, 26 Jun 1997, Nathan J Kurz wrote:
 >  > So the only place where there's a problem is between the signal(deferred) 
 >  > call and the accept().  
 >  
 >  Yes, that it the small place I am talking about.  If you put a pause()
 >  in right before the accept I think SIGUSR1 will be ignored by the
 >  child and it will run until the generation check catches it in the top
 >  of the child_main() loop.  I think that multiple KeepAlive requests
 >  would still be run, though.
 
 But sticking a pause() there makes the tiny race into a huge race :)
 
 The main request loop has a generation check.  A maximum of one request
 is served.
 
 A 1 second alarm causing a deferred exit seems to solve this as well.
 
 Dean
 

Reply via email to