# HG changeset patch # User Igor Sysoev # Date 1219761256 0 # Node ID 70a2bcc7e3077f7915c9368e90c58b78b08fcb91 # Parent 8e5bf1bc87e2103a3c94d0498f86f25ba6123fc9 fix divide by zero if max_fails=0 diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c --- a/src/http/ngx_http_upstream_round_robin.c +++ b/src/http/ngx_http_upstream_round_robin.c @@ -645,7 +645,9 @@ ngx_http_upstream_free_round_robin_peer( peer->fails++; peer->accessed = now; - peer->current_weight -= peer->weight / peer->max_fails; + if (peer->max_fails) { + peer->current_weight -= peer->weight / peer->max_fails; + } ngx_log_debug2(NGX_LOG_DEBUG_HTTP, pc->log, 0, "free rr peer failed: %ui %i",