Use attach()/detach() functions instead of touching .references

In rbtdb.c, there were two places where the code touched .references
directly instead of using the helper functions.  Use the helper
functions instead.
This commit is contained in:
Ondřej Surý 2024-11-27 14:12:50 +01:00
parent 60be885c9b
commit a4e3d25652
No known key found for this signature in database
GPG key ID: 2820F37E873DEA41

View file

@ -2483,10 +2483,7 @@ cleanup_dead_nodes_callback(isc_task_t *task, isc_event_t *event) {
isc_task_send(task, &event);
} else {
isc_event_free(&event);
if (isc_refcount_decrement(&rbtdb->references) == 1) {
(void)isc_refcount_current(&rbtdb->references);
maybe_free_rbtdb(rbtdb);
}
detach((dns_db_t **)&rbtdb);
}
}
@ -2749,7 +2746,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) {
sizeof(*changed));
}
if (event != NULL) {
isc_refcount_increment(&rbtdb->references);
attach((dns_db_t *)rbtdb, &(dns_db_t *){ NULL });
isc_task_send(rbtdb->task, &event);
} else {
RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_write);