From: Mladen Turk Date: Fri, 19 Aug 2005 17:19:54 +0000 (+0000) Subject: Revert the hack for setting the lbmethod. X-Git-Tag: 2.1.7~5^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2b99c52c0d7df9ee19c397f9840b643141b7f54;p=thirdparty%2Fapache%2Fhttpd.git Revert the hack for setting the lbmethod. The problem is deeper inside caused by the new hook to the balancer module that is never called on WIN32. Although the hack fixed core dump, the proxy is still unusable because the configuration is failing due to the empty lbmethod names array. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233514 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index cebfd591993..a0711350ad3 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -359,6 +359,11 @@ static proxy_worker *find_best_bytraffic(proxy_balancer *balancer, return mycandidate; } +static proxy_balancer_method _default_lbmethod = { + "byrequests", + find_best_byrequests +}; + static proxy_worker *find_best_worker(proxy_balancer *balancer, request_rec *r) { @@ -367,13 +372,6 @@ static proxy_worker *find_best_worker(proxy_balancer *balancer, if (PROXY_THREAD_LOCK(balancer) != APR_SUCCESS) return NULL; - if (!(*balancer->lbmethod->finder)) { - /* XXX: UGLY HACK!!! - * Where is the finder function setup? - */ - balancer->lbmethod->finder = find_best_byrequests; - } - candidate = (*balancer->lbmethod->finder)(balancer, r); /* @@ -879,6 +877,9 @@ static void child_init(apr_pool_t *p, server_rec *s) balancer = (proxy_balancer *)conf->balancers->elts; for (i = 0; i < conf->balancers->nelts; i++) { init_balancer_members(conf, s, balancer); + if (!balancer->lbmethod->finder) { + balancer->lbmethod->finder = _default_lbmethod; + } balancer++; } s = s->next;