fix worker endless loop on 64-bit platform if 33+ backend has fall

This commit is contained in:
Igor Sysoev 2007-05-21 13:48:14 +00:00
parent 3378750e2d
commit 0687cb9d99

View File

@ -215,7 +215,7 @@ ngx_http_upstream_get_round_robin_peer(ngx_peer_connection_t *pc, void *data)
rrp->current = rrp->peers->current;
n = rrp->current / (8 * sizeof(uintptr_t));
m = 1 << rrp->current % (8 * sizeof(uintptr_t));
m = (uintptr_t) 1 << rrp->current % (8 * sizeof(uintptr_t));
if (!(rrp->tried[n] & m)) {
peer = &rrp->peers->peer[rrp->current];
@ -268,7 +268,7 @@ ngx_http_upstream_get_round_robin_peer(ngx_peer_connection_t *pc, void *data)
} else {
for ( ;; ) {
n = rrp->current / (8 * sizeof(uintptr_t));
m = 1 << rrp->current % (8 * sizeof(uintptr_t));
m = (uintptr_t) 1 << rrp->current % (8 * sizeof(uintptr_t));
if (!(rrp->tried[n] & m)) {