httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject register_hooks problem
Date Wed, 17 Jan 2001 07:05:51 GMT
After a few hours on the plane, I'm certain of why DAV is crashing
when loaded as a loadable module.

While I'm not certain of every reason, it's pretty obvious that
dav and dav_fs are unloaded by the mod_so cleanup before their
own cleanups are invoked.  Plus there are linkage problems, where
the address of the code/data in dav is not fixed up before the
addresses in question get kicked around.

I'll have fixes to it all by tommorow night (cvs seems down this
evening.)  But it means two -big- changes.

Number one - whoever decided the ap_global_hook_pool is good for
modules was horribly wrong.  Modules can be removed.  Their own
registered cleanups segfault.  So register_hooks grows a apr_pool_t
arg for lifetime management (of course, it should be a cmd pool,
since that's the pool modules are loaded into.)

Number two - there are no global pools.  Every pool -must- be a
descendant of another.  So I'm picturing a pool assert in debug
build that the pool allocated is a child of the pool in question.
This is the only way we will ever catch -every- lifetime issue.

Besides those, I have several patches to go in once CVS returns 
that fix assorted win32 issues.  I am not optimizing, simply fixing 
broken behaviors.  I'm trying to keep things very consistent going 
into beta 1, excepting our real api issues.

Bill


Mime
View raw message