]> git.ipfire.org Git - thirdparty/bind9.git/commit
Do not call http_do_bio() in isc__nm_http_request()
authorArtem Boldariev <artem@boldariev.com>
Wed, 28 Jul 2021 13:44:46 +0000 (16:44 +0300)
committerArtem Boldariev <artem@boldariev.com>
Thu, 12 Aug 2021 11:28:16 +0000 (14:28 +0300)
commita05728beb0155049abb4ec913f40e651c1ba7973
tree124d94d1270ef894546452fd48e68ac80cb2e292
parent849d38b57b2b9d73356e11d7984e6929dc6e4805
Do not call http_do_bio() in isc__nm_http_request()

The function should not be called here because it is, in general,
supposed to be called at the end of the transport level callbacks to
perform I/O, and thus, calling it here is clearly a mistake because it
breaks other code expectations. As a result of the call to
http_do_bio() from within isc__nm_http_request() the unit tests were
running slower than expected in some situations.

In this particular situation http_do_bio() is going to be called at
the end of the transport_connect_cb() (initially), or http_readcb(),
sending all of the scheduled requests at once.

This change affects only the test suite because it is the only place
in the codebase where isc__nm_http_request() is used in order to
ensure that the server is able to handle multiple HTTP/2 streams at
once.
lib/isc/netmgr/http.c