diff src/http/modules/ngx_http_upstream_least_conn_module.c @ 4991:a384c60d55f3

Upstream: fixed state resetting when switching to backup servers. Based on patch by Thomas Chen (ticket #257).
author Valentin Bartenev <vbart@nginx.com>
date Tue, 25 Dec 2012 08:02:21 +0000
parents 4c36e15651f7
children 089a662c17d1
line wrap: on
line diff
--- a/src/http/modules/ngx_http_upstream_least_conn_module.c
+++ b/src/http/modules/ngx_http_upstream_least_conn_module.c
@@ -313,7 +313,9 @@ failed:
         lcp->rrp.peers = peers->next;
         pc->tries = lcp->rrp.peers->number;
 
-        n = lcp->rrp.peers->number / (8 * sizeof(uintptr_t)) + 1;
+        n = (lcp->rrp.peers->number + (8 * sizeof(uintptr_t) - 1))
+                / (8 * sizeof(uintptr_t));
+
         for (i = 0; i < n; i++) {
              lcp->rrp.tried[i] = 0;
         }