Joe Orton wrote:
On Sun, Jan 25, 2004 at 12:46:02PM -0800, Stas Bekman wrote:

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23238

...

Shouldn't apr_pool_clear set to ignore SIGTERMs and restore the handler at the end of its run? I suppose this will lose the signal if it's coming in the middle of clear run. So may be a handler that will remember that the signal was sent and then re-throw it once clear is done?

But it's more than that. What if apr_pool_clear hasn't even started yet when SIGTERM has arrived? In this case we deterministically lose all cleanup functionality.


Yes - really, it's wrong to try and solve this in APR... the caller
should assume that no interfaces in APR are async-signal-safe since none
are documented to be so.  The only way of getting well-defined behaviour
outside APR would be to implement a "grafeful shutdown" in httpd as Colm
has proposed.

Thanks for the follow up, Joe!

It doesn't seem like people are very excited about Colm's proposal. ;(

I guess I should at least document that pool cleanups and server shut-down don't go together. Which renders pool cleanups in apache as totally unreliable, and shouldn't be used for anything crucial.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Reply via email to