On Friday 02 December 2011, Graham Leggett wrote: > On 03 Dec 2011, at 12:42 AM, minf...@apache.org wrote: > > Author: minfrin > > Date: Fri Dec 2 22:42:39 2011 > > New Revision: 1209754 > > > > > > > > URL: http://svn.apache.org/viewvc?rev=1209754&view=rev > > Log: > > mod_proxy: Make ap_proxy_retry_worker() into an optional > > function. Allows mod_lbmethod_bybusyness, > > mod_lbmethod_byrequests, mod_lbmethod_bytraffic and > > mod_lbmethod_heartbeat to be loaded without mod_proxy yet being > > present, which happens when modules are loaded in alphabetical > > order. > > The proxy modules need a bunch more refactoring like this so that > the modules can be loaded cleanly in any order. > > Right now, we've gotten away with this due to the alphabetical > naming of the proxy modules, sorted alphabetically mod_proxy comes > before mod_proxy_http, and it just so happens mod_proxy_http > depends on a lot of symbols provided by mod_proxy, so we work by > accident. > > The above change solves the problem for the mod_lbmethod_* modules, > which sort alphabetically before mod_proxy and so cause a problem > for people. > > While I want to backport this change to v2.4, we don't have to > backport the rest of the changes if doing so will delay httpd v2.4 > for any length of time. Right now I have a bit of time, so am keen > to do it. > > There are also functions in mod_proxy that are only used by a > single mod_proxy_* module which ideally should be moved to the > module that needs it.
There are also a bunch of utility functions that take a function name as argument for logging. I think this should actually be replaced by a module_index argument, which should then be passed to ap_log_*. This way the utility functions would write log messages in the name of the calling module, and be subject of the log config of the calling module. But that's a bit late for 2.4, too.