Hold a catz reference while the update process is running

This should delay the catalog zone from being destroyed during
shutdown, if the update process is still running.

Doing this should not introduce significant shutdown delays, as
the update function constantly checks the 'shuttingdown' flag
and cancels the process if it is set.
This commit is contained in:
Aram Sargsyan 2023-03-21 09:56:36 +00:00
parent 714821bd51
commit dc2b8bb1c9

View file

@ -2124,6 +2124,7 @@ dns__catz_timer_cb(void *arg) {
ISC_LOG_INFO, "catz: %s: reload start", domain);
dns_catz_ref_catzs(catz->catzs);
dns_catz_ref_catz(catz);
isc_work_enqueue(catz->loop, dns__catz_update_cb, dns__catz_done_cb,
catz);
@ -2543,6 +2544,7 @@ dns__catz_done_cb(void *data) {
ISC_LOG_INFO, "catz: %s: reload done: %s", dname,
isc_result_totext(catz->updateresult));
dns_catz_unref_catz(catz);
dns_catz_unref_catzs(catz->catzs);
}