]> git.ipfire.org Git - thirdparty/bind9.git/commit
Emit a ISC_R_CANCELED result instead of ISC_R_SHUTTINGDOWN
authorAram Sargsyan <aram@isc.org>
Wed, 21 May 2025 15:27:53 +0000 (15:27 +0000)
committerOndřej Surý <ondrej@isc.org>
Wed, 28 May 2025 17:18:19 +0000 (19:18 +0200)
commitfa974811a9b8ab688f7d39b263c49bebb4d07f6f
tree5f85b84cdb78af8d847ad9f09807c223b89b04a4
parent20eb80333eed46127c34e833fafcbc285bc777ed
Emit a ISC_R_CANCELED result instead of ISC_R_SHUTTINGDOWN

When request manager shuts down, it also shuts down all its ongoing
requests. Currently it calls their callback functions with a
ISC_R_SHUTTINGDOWN result code for the request. Since a request
manager can shutdown not only during named shutdown but also during
named reconfiguration, instead of sending ISC_R_SHUTTINGDOWN result
code send a ISC_R_CANCELED code to avoid confusion and errors with
the expectation that a ISC_R_SHUTTINGDOWN result code can only be
received during actual shutdown of named.

All the callback functions which are passed to either the
dns_request_create() or the dns_request_createraw() functions have
been analyzed to confirm that they can process both the
ISC_R_SHUTTINGDOWN and ISC_R_CANCELED result codes. Changes were
made where it was necessary.

(cherry picked from commit f4cd307c6b705e13c45136ac4dc49e262a598297)
bin/tests/system/xfer/tests.sh
lib/dns/request.c
lib/dns/zone.c