]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add isc_nmhandle_setwritetimeout() function
authorOndřej Surý <ondrej@isc.org>
Wed, 9 Feb 2022 18:48:13 +0000 (19:48 +0100)
committerOndřej Surý <ondrej@isc.org>
Thu, 17 Feb 2022 08:06:58 +0000 (09:06 +0100)
In some situations (unit test and forthcoming XFR timeouts MR), we need
to modify the write timeout independently of the read timeout.  Add a
isc_nmhandle_setwritetimeout() function that could be called before
isc_nm_send() to specify a custom write timeout interval.

lib/isc/include/isc/netmgr.h
lib/isc/netmgr/netmgr.c

index 6c52f638c84412ca97ef65842dc3355acaac56f9..671880137ddf6ae05fa373488ca850f985ee122d 100644 (file)
@@ -697,3 +697,6 @@ isc__nm_force_tid(int tid);
  * Force the thread ID to 'tid'. This is STRICTLY for use in unit
  * tests and should not be used in any production code.
  */
+
+void
+isc_nmhandle_setwritetimeout(isc_nmhandle_t *handle, uint64_t write_timeout);
index b63f990163f13a7d6068800e7083ea5631d9a359..ddcfe23276e2647c3a84be2459e3c5681b9b8ba8 100644 (file)
@@ -604,6 +604,14 @@ isc_nm_maxudp(isc_nm_t *mgr, uint32_t maxudp) {
        atomic_store(&mgr->maxudp, maxudp);
 }
 
+void
+isc_nmhandle_setwritetimeout(isc_nmhandle_t *handle, uint64_t write_timeout) {
+       REQUIRE(VALID_NMHANDLE(handle));
+       REQUIRE(VALID_NMSOCK(handle->sock));
+
+       handle->sock->write_timeout = write_timeout;
+}
+
 void
 isc_nm_settimeouts(isc_nm_t *mgr, uint32_t init, uint32_t idle,
                   uint32_t keepalive, uint32_t advertised) {