} else {
ISC_LIST_UNLINK(nbucket->names, name, plink);
}
+
+ isc_refcount_decrement(&nbucket->references);
}
/*
} else {
ISC_LIST_UNLINK(ebucket->entries, entry, plink);
}
+
+ isc_refcount_decrement(&ebucket->references);
}
static void
isc_ht_iter_current(it, (void **)&nbucket);
cleanup_names(nbucket, INT_MAX);
isc_mutex_destroy(&nbucket->lock);
+ isc_refcount_destroy(&nbucket->references);
isc_mem_put(adb->mctx, nbucket, sizeof(*nbucket));
}
isc_ht_iter_destroy(&it);
isc_ht_iter_current(it, (void **)&ebucket);
cleanup_entries(ebucket, INT_MAX);
isc_mutex_destroy(&ebucket->lock);
+ isc_refcount_destroy(&ebucket->references);
isc_mem_put(adb->mctx, ebucket, sizeof(*ebucket));
}
isc_ht_iter_destroy(&it);
isc_rwlock_destroy(&adb->entries_lock);
isc_mutex_destroy(&adb->lock);
+ isc_refcount_destroy(&adb->references);
isc_task_detach(&adb->task);
isc_stats_detach(&adb->stats);