isc_mutex_t lock;
isc_mem_t *mctx;
+ isc_mem_t *hmctx;
dns_view_t *view;
dns_resolver_t *res;
size_t nloops;
UNLOCK(&adb->entries_lock);
isc_mutex_destroy(&adb->entries_lock);
+ isc_mem_destroy(&adb->hmctx);
+
isc_mutex_destroy(&adb->lock);
isc_refcount_destroy(&adb->references);
dns_resolver_attach(view->resolver, &adb->res);
isc_mem_attach(mem, &adb->mctx);
- isc_hashmap_create(adb->mctx, ADB_HASH_BITS,
+ isc_mem_create(&adb->hmctx);
+
+ isc_hashmap_create(adb->hmctx, ADB_HASH_BITS,
ISC_HASHMAP_CASE_INSENSITIVE, &adb->names);
isc_mutex_init(&adb->names_lock);
- isc_hashmap_create(adb->mctx, ADB_HASH_BITS, ISC_HASHMAP_CASE_SENSITIVE,
- &adb->entries);
+ isc_hashmap_create(adb->hmctx, ADB_HASH_BITS,
+ ISC_HASHMAP_CASE_SENSITIVE, &adb->entries);
isc_mutex_init(&adb->entries_lock);
isc_mutex_init(&adb->lock);
isc_hashmap_destroy(&adb->names);
INSIST(ISC_LIST_EMPTY(adb->names_lru));
+ isc_mem_destroy(&adb->hmctx);
+
dns_resolver_detach(&adb->res);
dns_view_weakdetach(&adb->view);
isc_mem_putanddetach(&adb->mctx, adb, sizeof(dns_adb_t));