From ca0c1e5b4bbd57060321d7afe2d606227fbe358a Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 20 Aug 2020 11:24:05 +1000 Subject: [PATCH] Update 'init_count' atomically to silence tsan errors. Conflict: NA Reference: https://gitlab.isc.org/isc-projects/bind9/-/commit/ca0c1e5b4bbd57060321d7afe2d606227fbe358a --- lib/dns/rbtdb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index baf764174a..88c39bf714 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -6839,7 +6839,7 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, newheader->attributes |= RDATASET_ATTR_ZEROTTL; newheader->noqname = NULL; newheader->closest = NULL; - newheader->count = init_count++; + newheader->count = isc_atomic_xadd((int32_t*)&init_count, 1); newheader->trust = rdataset->trust; newheader->additional_auth = NULL; newheader->additional_glue = NULL; @@ -7035,7 +7035,7 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, newheader->trust = 0; newheader->noqname = NULL; newheader->closest = NULL; - newheader->count = init_count++; + newheader->count = isc_atomic_xadd((int32_t*)&init_count, 1); newheader->additional_auth = NULL; newheader->additional_glue = NULL; newheader->last_used = 0; @@ -7481,7 +7481,7 @@ loading_addrdataset(void *arg, dns_name_t *name, dns_rdataset_t *rdataset) { newheader->serial = 1; newheader->noqname = NULL; newheader->closest = NULL; - newheader->count = init_count++; + newheader->count = isc_atomic_xadd((int32_t*)&init_count, 1); newheader->additional_auth = NULL; newheader->additional_glue = NULL; newheader->last_used = 0; -- 2.23.0