Mercurial > hg > nginx-vendor-current
comparison src/http/ngx_http_upstream_round_robin.c @ 302:9b7db0df50f0 NGINX_0_5_21
nginx 0.5.21
*) Bugfix: if server has more than about ten locations, then regex
locations might be choosen not in that order as they were specified.
*) Bugfix: a worker process may got caught in an endless loop on 64-bit
platform, if the 33-rd or next in succession backend has failed.
Thanks to Anton Povarov.
*) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE
library was used.
Thanks to Andrei Nigmatulin.
*) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 28 May 2007 00:00:00 +0400 |
parents | 251bcd11a5b8 |
children | fc223117327f |
comparison
equal
deleted
inserted
replaced
301:a025840de07d | 302:9b7db0df50f0 |
---|---|
213 | 213 |
214 for ( ;; ) { | 214 for ( ;; ) { |
215 rrp->current = rrp->peers->current; | 215 rrp->current = rrp->peers->current; |
216 | 216 |
217 n = rrp->current / (8 * sizeof(uintptr_t)); | 217 n = rrp->current / (8 * sizeof(uintptr_t)); |
218 m = 1 << rrp->current % (8 * sizeof(uintptr_t)); | 218 m = (uintptr_t) 1 << rrp->current % (8 * sizeof(uintptr_t)); |
219 | 219 |
220 if (!(rrp->tried[n] & m)) { | 220 if (!(rrp->tried[n] & m)) { |
221 peer = &rrp->peers->peer[rrp->current]; | 221 peer = &rrp->peers->peer[rrp->current]; |
222 | 222 |
223 if (!peer->down) { | 223 if (!peer->down) { |
266 } | 266 } |
267 | 267 |
268 } else { | 268 } else { |
269 for ( ;; ) { | 269 for ( ;; ) { |
270 n = rrp->current / (8 * sizeof(uintptr_t)); | 270 n = rrp->current / (8 * sizeof(uintptr_t)); |
271 m = 1 << rrp->current % (8 * sizeof(uintptr_t)); | 271 m = (uintptr_t) 1 << rrp->current % (8 * sizeof(uintptr_t)); |
272 | 272 |
273 if (!(rrp->tried[n] & m)) { | 273 if (!(rrp->tried[n] & m)) { |
274 | 274 |
275 peer = &rrp->peers->peer[rrp->current]; | 275 peer = &rrp->peers->peer[rrp->current]; |
276 | 276 |