diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index 4204d71206..64f79ba547 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -293,6 +293,9 @@ static proxy_worker *find_best_worker(proxy_balancer *balancer, candidate = (*balancer->lbmethod->finder)(balancer, r); + if (candidate) + candidate->s->elected++; + /* PROXY_THREAD_UNLOCK(balancer); return NULL; @@ -976,7 +979,6 @@ static proxy_worker *find_best_byrequests(proxy_balancer *balancer, if (mycandidate) { mycandidate->s->lbstatus -= total_factor; - mycandidate->s->elected++; } return mycandidate; @@ -1055,10 +1057,6 @@ static proxy_worker *find_best_bytraffic(proxy_balancer *balancer, cur_lbset++; } while (cur_lbset <= max_lbset && !mycandidate); - if (mycandidate) { - mycandidate->s->elected++; - } - return mycandidate; }