2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 14:07:59 +00:00

Allow attaching to dns_adb which is shutting down

The dns__adb_attach() had an assertion failure that prevented to attach
to dns_adb if the dns_adb was shutting down.  There was a race between
checking for .exiting in dns_adb_createfind and creating new_adbfind() -
other thread could have set the .exiting to true between the check.

Remove the assertion failure and allow attaching to dns_adb even while
shutting down.  The process of dns_adb shutting down would be noticed
only a moments later when any other callback is called.
This commit is contained in:
Ondřej Surý 2022-04-22 16:48:37 +02:00
parent 4d216e68ab
commit b55e8a959f

View File

@ -2169,7 +2169,6 @@ dns__adb_attach(dns_adb_t *adb, dns_adb_t **adbp, const char *func,
REQUIRE(DNS_ADB_VALID(adb));
REQUIRE(adbp != NULL && *adbp == NULL);
REQUIRE(!atomic_load_acquire(&adb->exiting));
refs = isc_refcount_increment(&adb->references);
#ifdef ADB_TRACE