From b4cb8475b142c0a76e3aa2b715cd9429784dd27e Mon Sep 17 00:00:00 2001 From: FengGu Date: Wed, 13 Aug 2014 14:53:55 +0800 Subject: [PATCH] Upstream: avoided directly terminating the connection. When memory allocation failed in ngx_http_upstream_cache(), the connection would be terminated directly in ngx_http_upstream_init_request(). Return a INTERNAL_SERVER_ERROR response instead. --- src/http/ngx_http_upstream.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index 94dd466af..996dc8a85 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -519,6 +519,11 @@ ngx_http_upstream_init_request(ngx_http_request_t *r) return; } + if (rc == NGX_ERROR) { + ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); + return; + } + if (rc != NGX_DECLINED) { ngx_http_finalize_request(r, rc); return;