httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <gst...@lyra.org>
Subject Re: cvs commit: httpd-2.0/server config.c
Date Sun, 21 Jan 2001 20:35:10 GMT
On Sun, Jan 21, 2001 at 05:21:34AM -0000, rbb@apache.org wrote:
> rbb         01/01/20 21:21:34
> 
>   Modified:    server   config.c
>   Log:
>   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 apache.org 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.

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.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Mime
View raw message