httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: cvs commit: httpd-2.0/server config.c
Date Sun, 21 Jan 2001 20:46:29 GMT

> >   Add a call to apr_hook_deregister_all() in the clear_module_list function.
> >   The basic problem was that when we load the modules, we call the
> >   register_hooks() function from the module, but then we clear the module
> >   list for all active modules, and add them back in one at a time.  When we
> >   add them back, we re-call the register_hooks() function, thus adding
> >   each function a second time.  This was causing to log every
> >   request twice in the access log.  By calling apr_hook_deregister_all()
> >   when we unload the module, the second call to register the hooks is the
> >   only call that matters.
> I think you've identified a more subtle problem. The registrations should
> have happened within the command pool, which should have been cleared as the
> modules were unloaded.

The problem is that we are really only talking about the prelinked modules
here.  We don't have access to the command pool when we are setting those
up.  We could modify that API pretty easily to do this right however.


> Needing to make the above change would indicate the pool wasn't cleared
> properly.
> I'm not sure that deregister_all would ever be needed, and is probably not
> quite correct: other registrations happen during register_hooks(). Filters
> are registered, and live properties are registered with mod_dav.

Ryan Bloom               
406 29th St.
San Francisco, CA 94131

View raw message