Mercurial > hg > nginx
comparison src/http/ngx_http_upstream_round_robin.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 | dcb853acae97 |
children | c9059bd5445b |
comparison
equal
deleted
inserted
replaced
4990:e2794322ec76 | 4991:a384c60d55f3 |
---|---|
472 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, pc->log, 0, "backup servers"); | 472 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, pc->log, 0, "backup servers"); |
473 | 473 |
474 rrp->peers = peers->next; | 474 rrp->peers = peers->next; |
475 pc->tries = rrp->peers->number; | 475 pc->tries = rrp->peers->number; |
476 | 476 |
477 n = rrp->peers->number / (8 * sizeof(uintptr_t)) + 1; | 477 n = (rrp->peers->number + (8 * sizeof(uintptr_t) - 1)) |
478 / (8 * sizeof(uintptr_t)); | |
479 | |
478 for (i = 0; i < n; i++) { | 480 for (i = 0; i < n; i++) { |
479 rrp->tried[i] = 0; | 481 rrp->tried[i] = 0; |
480 } | 482 } |
481 | 483 |
482 rc = ngx_http_upstream_get_round_robin_peer(pc, rrp); | 484 rc = ngx_http_upstream_get_round_robin_peer(pc, rrp); |