> > Is there a way to run some cleanup code in a module when the server is
> being stopped, but not being restarted? Or, can a cleanup handler in a loaded
> module determine whether the server is being shut down or restarted?
> 
> With 2.4.x, you could use the ap_pglobal pool.
> 
> Beware this should be done only once by register_hooks (called at every
> restart), so something like:
> {
>     void *data;
> 
>     apr_pool_userdata_get(&data, "my_module_key", ap_pglobal);
>     if (!data) {
>         char *key = apr_pstrdup(ap_pglobal, "my_module_key");
>         apr_pool_userdata_set(key, key, apr_pool_cleanup_null, ap_pglobal);
>     }
> }

Thanks for your suggestion. I am not yet on 2.4.x. 

Is ap_pglobal available to DSO modules? 

Also, if I register a cleanup handler for that pool, will the cleanup function 
get called before my module is unloaded? I think in previous versions the 
server unloads all of the loaded modules before destroying the global pool. 
That would lead to a crash.

Reply via email to