comparison src/http/ngx_http_upstream_round_robin.c @ 1376:6ff8c0c1e194

"down" server caused endless loop
author Igor Sysoev <igor@sysoev.ru>
date Tue, 07 Aug 2007 12:34:20 +0000
parents 8f5b5641966c
children 0be898896d1a
comparison
equal deleted inserted replaced
1375:8d7120543619 1376:6ff8c0c1e194
46 for (i = 0; i < us->servers->nelts; i++) { 46 for (i = 0; i < us->servers->nelts; i++) {
47 for (j = 0; j < server[i].naddrs; j++) { 47 for (j = 0; j < server[i].naddrs; j++) {
48 peers->peer[n].sockaddr = server[i].addrs[j].sockaddr; 48 peers->peer[n].sockaddr = server[i].addrs[j].sockaddr;
49 peers->peer[n].socklen = server[i].addrs[j].socklen; 49 peers->peer[n].socklen = server[i].addrs[j].socklen;
50 peers->peer[n].name = server[i].addrs[j].name; 50 peers->peer[n].name = server[i].addrs[j].name;
51 peers->peer[n].weight = server[i].weight;
52 peers->peer[n].current_weight = server[i].weight;
53 peers->peer[n].max_fails = server[i].max_fails; 51 peers->peer[n].max_fails = server[i].max_fails;
54 peers->peer[n].fail_timeout = server[i].fail_timeout; 52 peers->peer[n].fail_timeout = server[i].fail_timeout;
55 peers->peer[n].down = server[i].down; 53 peers->peer[n].down = server[i].down;
54 peers->peer[n].weight = server[i].down ? 0 : server[i].weight;
55 peers->peer[n].current_weight = peers->peer[n].weight;
56 n++; 56 n++;
57 } 57 }
58 } 58 }
59 59
60 us->peer.data = peers; 60 us->peer.data = peers;