aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-08-07 12:34:20 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-08-07 12:34:20 +0000
commit3625a458d9a29943aa7891296ef2dd3e9933f9a8 (patch)
tree66eb88effa421ca5088e0546347ab1d67111ae2b /src
parentc92483b948ddbfb45ce767bdb0aad597aac15243 (diff)
downloadnginx-3625a458d9a29943aa7891296ef2dd3e9933f9a8.tar.gz
nginx-3625a458d9a29943aa7891296ef2dd3e9933f9a8.zip
"down" server caused endless loop
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http_upstream_round_robin.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c
index 6756d2bc2..73896fc9c 100644
--- a/src/http/ngx_http_upstream_round_robin.c
+++ b/src/http/ngx_http_upstream_round_robin.c
@@ -48,11 +48,11 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf,
peers->peer[n].sockaddr = server[i].addrs[j].sockaddr;
peers->peer[n].socklen = server[i].addrs[j].socklen;
peers->peer[n].name = server[i].addrs[j].name;
- peers->peer[n].weight = server[i].weight;
- peers->peer[n].current_weight = server[i].weight;
peers->peer[n].max_fails = server[i].max_fails;
peers->peer[n].fail_timeout = server[i].fail_timeout;
peers->peer[n].down = server[i].down;
+ peers->peer[n].weight = server[i].down ? 0 : server[i].weight;
+ peers->peer[n].current_weight = peers->peer[n].weight;
n++;
}
}