Author: jfrederic.clere(a)jboss.com
Date: 2009-03-06 05:49:56 -0500 (Fri, 06 Mar 2009)
New Revision: 2338
Modified:
trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
Log:
Optimise the number of calls to ap_get_module_config.
Modified: trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c
===================================================================
--- trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2009-03-05 15:03:40 UTC
(rev 2337)
+++ trunk/mod_cluster/native/mod_proxy_cluster/mod_proxy_cluster.c 2009-03-06 10:49:56 UTC
(rev 2338)
@@ -1337,16 +1337,13 @@
/**
* Find the balancer corresponding to the node information
*/
-static const char *get_route_balancer(request_rec *r)
+static const char *get_route_balancer(request_rec *r, proxy_server_conf *conf)
{
proxy_balancer *balancer;
char *route = NULL;
char *sessionid = NULL;
char *sticky_used;
int i;
- void *sconf = r->server->module_config;
- proxy_server_conf *conf = (proxy_server_conf *)
- ap_get_module_config(sconf, &proxy_module);
balancer = (proxy_balancer *)conf->balancers->elts;
for (i = 0; i < conf->balancers->nelts; i++, balancer++) {
@@ -1398,19 +1395,19 @@
static int proxy_cluster_trans(request_rec *r)
{
const char *balancer;
+ void *sconf = r->server->module_config;
+ proxy_server_conf *conf = (proxy_server_conf *)
+ ap_get_module_config(sconf, &proxy_module);
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, 0, r->server,
"proxy_cluster_trans for %d %s %s uri: %s args: %s unparsed_uri:
%s",
r->proxyreq, r->filename, r->handler, r->uri, r->args,
r->unparsed_uri);
- balancer = get_route_balancer(r);
+ balancer = get_route_balancer(r, conf);
if (!balancer) {
- void *sconf = r->server->module_config;
- proxy_server_conf *conf = (proxy_server_conf *)
- ap_get_module_config(sconf, &proxy_module);
/* May be the balancer has not been created (XXX: use shared memory to find the
balancer ...) */
update_workers_node(conf, r->pool, r->server);
- balancer = get_route_balancer(r);
+ balancer = get_route_balancer(r, conf);
}
if (!balancer)
balancer = get_context_host_balancer(r);