diff --git a/lib/dns/include/dns/adb.h b/lib/dns/include/dns/adb.h index b25b5f6519..5cb0f553e2 100644 --- a/lib/dns/include/dns/adb.h +++ b/lib/dns/include/dns/adb.h @@ -222,6 +222,34 @@ dns_adb_detach(dns_adb_t **adb); * dns_adb_create(). */ +void +dns_adb_whenshutdown(dns_adb_t *adb, isc_task_t *task, isc_event_t **eventp); +/* + * Send '*eventp' to 'task' when 'adb' has shutdown. + * + * Requires: + * + * '*adb' is a valid dns_adb_t. + * + * eventp != NULL && *eventp is a valid event. + * + * Ensures: + * + * *eventp == NULL + * + * The event's sender field is set to the value of adb when the event + * is sent. + */ + +void +dns_adb_shutdown(dns_adb_t *adb); +/* + * Shutdown 'adb'. + * + * Requires: + * + * '*adb' is a valid dns_adb_t. + */ isc_result_t dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, diff --git a/lib/dns/include/dns/resolver.h b/lib/dns/include/dns/resolver.h index abd7f0ff5d..34b86cab42 100644 --- a/lib/dns/include/dns/resolver.h +++ b/lib/dns/include/dns/resolver.h @@ -81,6 +81,13 @@ dns_resolver_create(dns_view_t *view, isc_timermgr_t *timermgr, dns_dispatch_t *dispatch, dns_resolver_t **resp); +void +dns_resolver_whenshutdown(dns_resolver_t *res, isc_task_t *task, + isc_event_t **eventp); + +void +dns_resolver_shutdown(dns_resolver_t *res); + void dns_resolver_attach(dns_resolver_t *source, dns_resolver_t **targetp);