From afe2e3d082c5b6501d0107d86ecdfff36f458b85 Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Tue, 20 Sep 2011 10:00:46 +0000 Subject: [PATCH] Fix of separate pool for upstream connections (r4117). Pool may not be created if connection was created but rejected in connect() call. Make sure to check if it is here before trying to destroy it. --- src/http/ngx_http_upstream.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index d3d433b24..ef16a662c 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -2922,7 +2922,10 @@ ngx_http_upstream_next(ngx_http_request_t *r, ngx_http_upstream_t *u, } #endif - ngx_destroy_pool(u->peer.connection->pool); + if (u->peer.connection->pool) { + ngx_destroy_pool(u->peer.connection->pool); + } + ngx_close_connection(u->peer.connection); } @@ -3017,7 +3020,10 @@ ngx_http_upstream_finalize_request(ngx_http_request_t *r, "close http upstream connection: %d", u->peer.connection->fd); - ngx_destroy_pool(u->peer.connection->pool); + if (u->peer.connection->pool) { + ngx_destroy_pool(u->peer.connection->pool); + } + ngx_close_connection(u->peer.connection); }