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 1e9e2c5e7c14
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