]> git.kaiwu.me - nginx.git/commitdiff
HTTP/3: do not call shutdown() for QUIC streams.
authorRoman Arutyunyan <arut@nginx.com>
Wed, 22 Jul 2020 08:03:42 +0000 (11:03 +0300)
committerRoman Arutyunyan <arut@nginx.com>
Wed, 22 Jul 2020 08:03:42 +0000 (11:03 +0300)
Previously, this triggered an alert "shutdown() failed" in error log.

src/http/ngx_http_request.c

index 9b6d461e0653641732429624e765bdb1ad6d6126..285879f2f8fc8e0e506395732f26d95254f14727 100644 (file)
@@ -3504,11 +3504,13 @@ ngx_http_set_lingering_close(ngx_http_request_t *r)
         }
     }
 
-    if (ngx_shutdown_socket(c->fd, NGX_WRITE_SHUTDOWN) == -1) {
-        ngx_connection_error(c, ngx_socket_errno,
-                             ngx_shutdown_socket_n " failed");
-        ngx_http_close_request(r, 0);
-        return;
+    if (c->fd != NGX_INVALID_FILE) {
+        if (ngx_shutdown_socket(c->fd, NGX_WRITE_SHUTDOWN) == -1) {
+            ngx_connection_error(c, ngx_socket_errno,
+                                 ngx_shutdown_socket_n " failed");
+            ngx_http_close_request(r, 0);
+            return;
+        }
     }
 
     if (rev->ready) {