bind9/tests
Evan Hunt 31c53235dd Call dns_resolver_createfetch() asynchronously in zone_refreshkeys()
Because dns_resolver_createfetch() locks the view, it was necessary
to unlock the zone in zone_refreshkeys() before calling it in order
to maintain the lock order, and relock afterward. this permitted a race
with dns_zone_synckeyzone().

This commit moves the call to dns_resolver_createfetch() into a separate
function which is called asynchronously after the zone has been
unlocked.

The keyfetch object now attaches to the zone to ensure that
it won't be shut down before the asynchronous call completes.

This necessitated refactoring dns_zone_detach() so it always runs
unlocked. For managed zones it now schedules zone_shutdown() to
run asynchronously, and for unmanaged zones, it requires the last
dns_zone_detach() to be run without loopmgr running.
2022-10-31 14:34:12 -07:00
..
bench Delete the render benchmark 2022-10-21 09:52:40 +00:00
dns Call dns_resolver_createfetch() asynchronously in zone_refreshkeys() 2022-10-31 14:34:12 -07:00
include/tests Update netmgr, tasks, and applications to use isc_loopmgr 2022-08-26 09:09:24 +02:00
irs Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
isc isc_async_run() runs events in reverse order 2022-10-31 05:43:45 -07:00
isccfg Test cfg_print_duration() in duration_test.c 2022-10-17 08:45:18 +00:00
libtest Change the return type of isc_lex_create() to void 2022-10-26 12:55:06 +02:00
ns Update netmgr, tasks, and applications to use isc_loopmgr 2022-08-26 09:09:24 +02:00
.gitignore Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
Makefile.am Tests and benchmark for isc_ascii 2022-09-12 12:23:39 +01:00
unit-test-driver.sh.in Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00