mirror of
https://github.com/nginx/nginx.git
synced 2025-07-25 22:56:59 +08:00
Merge of r4992: off-by-one with 32/64 upstream backup servers.
Fixed off-by-one during upstream state resetting when switching to backup servers if there were exactly 32 (64 on 64-bit platforms) backup servers configured. Based on patch by Thomas Chen (ticket #257).
This commit is contained in:
parent
6b070a4d21
commit
ff145c0574
@ -313,7 +313,9 @@ failed:
|
|||||||
lcp->rrp.peers = peers->next;
|
lcp->rrp.peers = peers->next;
|
||||||
pc->tries = lcp->rrp.peers->number;
|
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++) {
|
for (i = 0; i < n; i++) {
|
||||||
lcp->rrp.tried[i] = 0;
|
lcp->rrp.tried[i] = 0;
|
||||||
}
|
}
|
||||||
|
@ -474,7 +474,9 @@ failed:
|
|||||||
rrp->peers = peers->next;
|
rrp->peers = peers->next;
|
||||||
pc->tries = rrp->peers->number;
|
pc->tries = rrp->peers->number;
|
||||||
|
|
||||||
n = rrp->peers->number / (8 * sizeof(uintptr_t)) + 1;
|
n = (rrp->peers->number + (8 * sizeof(uintptr_t) - 1))
|
||||||
|
/ (8 * sizeof(uintptr_t));
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
rrp->tried[i] = 0;
|
rrp->tried[i] = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user