changeset 7810:1bf8ab7063de

Upstream: fixed broken connection check with eventport. For connection close to be reported with eventport on Solaris, ngx_handle_read_event() needs to be called.
author Maxim Dounin <mdounin@mdounin.ru>
date Sun, 28 Mar 2021 17:45:37 +0300
parents b1302f1dd2f6
children 1ebd78df4ce7
files src/http/ngx_http_upstream.c
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -607,6 +607,12 @@ ngx_http_upstream_init_request(ngx_http_
     u->store = u->conf->store;
 
     if (!u->store && !r->post_action && !u->conf->ignore_client_abort) {
+
+        if (ngx_handle_read_event(r->connection->read, 0) != NGX_OK) {
+            ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
+            return;
+        }
+
         r->read_event_handler = ngx_http_upstream_rd_check_broken_connection;
         r->write_event_handler = ngx_http_upstream_wr_check_broken_connection;
     }