perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <>
Subject Re: per-server cleanups core dump? geoff?
Date Mon, 29 Nov 2004 23:56:35 GMT
Geoffrey Young wrote:
> Stas Bekman wrote:
>>Geoff, why there is no thread pointer at this entry?
>>* per-server cleanups core dump or are otherwise ineffective
>>    Apache->server->process->pconf->cleanup_register(sub { ...  });
>>  Report: geoff
>>could you please give me the info needed to reproduce the problem and
>>I'll try to fix it? Thanks.
> see the attached file, which exercises
> Apache->server->process->pconf->cleanup_register(sub { ... });
> when I try to start the server I get a core dump:
> #0  0x001e5744 in ?? ()
> #1  0x00aff901 in run_cleanups (cref=0x92b10b8) at apr_pools.c:1951
> #2  0x00afedb0 in apr_pool_clear (pool=0x92b10a8) at apr_pools.c:693
> #3  0x08070cf6 in main (argc=9, argv=0xbfebcbe4) at main.c:574
> from my read of the situation, pconf is the proper pool to use here, since
> it gets destroyed whenever httpd.conf is reparsed (eg restarts), which is
> typically when you need to do per-server cleanups.

Yes, but I think when it's destroyed perl is long gone, hence the 
segfault. child_exit gives the registered callbacks the pchild pool and I 
suppose this is no what you were after in first place (since you wanted 
something to be run only one on server restart).

So may be your orig patch from:
is the way to go, but we should make it really clear that the returned 
pool is nothing but the main server pool (not vhost). And there is no need 
for making it a method, since it's just a function retrieving a global.

So may be it should be called: Apache::Server::global_pool?

Let me know if you want me to handle that, so we don't put it on the high 
shelf again.

Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker     mod_perl Guide --->

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message