]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
When terminating a client session, mark it as closing
authorArtem Boldariev <artem@boldariev.com>
Thu, 29 Jul 2021 07:46:34 +0000 (10:46 +0300)
committerArtem Boldariev <artem@boldariev.com>
Thu, 12 Aug 2021 11:28:17 +0000 (14:28 +0300)
When an HTTP/2 client terminates a session it means that it is about
to close the underlying connection. However, we were not doing that.
As a result, with the latest changes to the test suite, which made it
to limit amount of requests per a transport connection, the tests
using quota would hang for quite a while. This commit fixes that.

lib/isc/netmgr/http.c

index 11eefc165cfd8a9679e8d7f2836a28e48409ff15..b5247f58b9fb88124c46d236559ced5f97a451b5 100644 (file)
@@ -616,6 +616,9 @@ on_client_stream_close_callback(int32_t stream_id,
                        if (rv != 0) {
                                return (rv);
                        }
+                       /* Mark the session as closing one to finish it on a
+                        * subsequent call to http_do_bio() */
+                       session->closing = true;
                }
        } else {
                return (NGHTTP2_ERR_CALLBACK_FAILURE);