[nginx] Upstream: posted requests handling after ssl handshake e...

Maxim Dounin mdounin at mdounin.ru
Fri Aug 23 18:20:06 UTC 2013


details:   http://hg.nginx.org/nginx/rev/13a5f4765887
branches:  
changeset: 5340:13a5f4765887
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Fri Aug 23 22:18:46 2013 +0400
description:
Upstream: posted requests handling after ssl handshake errors.

Missing call to ngx_http_run_posted_request() resulted in a main request hang
if subrequest's ssl handshake with an upstream server failed for some reason.

Reported by Aviram Cohen.

diffstat:

 src/http/ngx_http_upstream.c |  6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diffs (23 lines):

diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -1338,13 +1338,19 @@ ngx_http_upstream_ssl_handshake(ngx_conn
         c->write->handler = ngx_http_upstream_handler;
         c->read->handler = ngx_http_upstream_handler;
 
+        c = r->connection;
+
         ngx_http_upstream_send_request(r, u);
 
+        ngx_http_run_posted_requests(c);
         return;
     }
 
+    c = r->connection;
+
     ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_ERROR);
 
+    ngx_http_run_posted_requests(c);
 }
 
 #endif



More information about the nginx-devel mailing list