[nginx] HTTP/2: lingering close changed to handle NGX_AGAIN.

Ruslan Ermilov ru at nginx.com
Tue Feb 2 12:20:43 UTC 2021


details:   https://hg.nginx.org/nginx/rev/519b55453c45
branches:  
changeset: 7765:519b55453c45
user:      Ruslan Ermilov <ru at nginx.com>
date:      Mon Feb 01 16:42:50 2021 +0300
description:
HTTP/2: lingering close changed to handle NGX_AGAIN.

This part somehow slipped away from c5840ca2063d.

While it is not expected to be needed in case of lingering close,
it is good to keep it for correctness (see 2b5528023f6b).

diffstat:

 src/http/v2/ngx_http_v2.c |  4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diffs (14 lines):

diff -r ecc0ae881a25 -r 519b55453c45 src/http/v2/ngx_http_v2.c
--- a/src/http/v2/ngx_http_v2.c	Tue Jan 26 12:39:28 2021 +0300
+++ b/src/http/v2/ngx_http_v2.c	Mon Feb 01 16:42:50 2021 +0300
@@ -807,6 +807,10 @@ ngx_http_v2_lingering_close_handler(ngx_
 
         ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, "lingering read: %z", n);
 
+        if (n == NGX_AGAIN) {
+            break;
+        }
+
         if (n == NGX_ERROR || n == 0) {
             ngx_http_close_connection(c);
             return;


More information about the nginx-devel mailing list