Added in r1898369 on trunk as `child_stopped`. Kind Regards, Stefan
> Am 23.02.2022 um 15:49 schrieb Niklas Edmundsson <ni...@acc.umu.se>: > > On Wed, 23 Feb 2022, Stefan Eissing wrote: > >>>> On 2/23/22 11:39 AM, Stefan Eissing wrote: >>>>> One thing that is currently missing is a way to shutdown/reap/join module >>>>> threads when the mpm exits. >>>>> >>>>> Example: >>>>> >>>>> mod_watchdog creates several threads post_config which are only joined on >>>>> pool destruction. >>>>> >>>>> Problem: >>>>> >>>>> pool destruction is not ordered between modules and dependencies on order >>>>> are not >>>>> fully known. This leads to crashes in OpenSSL, for example, when mod_ssl >>>>> is destructed >>>>> before all watchdogs using OpenSSL are joined (OpenSSL 3.x seems to do >>>>> better on this, >>>>> but the point remains valid). >>>>> >>>>> There has been attempts by Yann to make a patch that make the OpenSSL >>>>> termination >>>>> way later (adding it to a 'higher' pool destruction). But that would only >>>>> solve >>>>> this particular problem and not any other 3rd party dependency. >>>>> >>>>> Proposal: >>>>> >>>>> Add a hook 'child_exiting(int graceful)' where modules can register >>>>> and do their own thread join/reap. >>>> >>>> How does that differ from the child_stopping hook? Or is child_stopping >>>> only used when we shutdown the whole httpd not just one child? >>> >>> child_is_stopping is called when the shutdown is initiated. >>> child_is_exiting would be called before pool destruction begins. >>> >>> The difference is that between those two, ongoing requests are still being >>> served on graceful shutdowns. > > FWIW, I'm +1 to the idea. The current situation is no fun for our home-grown > cache module (ie it has threads that crashes on pool destruction now and > then). > > >> Opening the bike shed: child_has_stopped? > > Neither name is fully self-explanatory, I'd need to look at the descriptive > function header to figure out when to use it. However, I don't know if a name > such as child_pre_pooldestroy or somesuch would be any better... > > As long as it's not elvis_leaving_building I'm happy ;) > > /Nikke > -- > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se | ni...@acc.umu.se > --------------------------------------------------------------------------- > Gene Roddenberry showed us the future...Make It So! > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=