* that indicates that the database does not implement cyclic
* processing.
*/
-static unsigned int init_count;
+static atomic_uint_fast32_t init_count;
/*
* Locking
newheader->attributes |= RDATASET_ATTR_ZEROTTL;
newheader->noqname = NULL;
newheader->closest = NULL;
- newheader->count = init_count++;
+ newheader->count = atomic_fetch_add(&init_count, 1);
newheader->trust = rdataset->trust;
newheader->last_used = now;
newheader->node = rbtnode;
newheader->trust = 0;
newheader->noqname = NULL;
newheader->closest = NULL;
- newheader->count = init_count++;
+ newheader->count = atomic_fetch_add(&init_count, 1);
newheader->last_used = 0;
newheader->node = rbtnode;
if ((rdataset->attributes & DNS_RDATASETATTR_RESIGN) != 0) {
newheader->serial = 1;
newheader->noqname = NULL;
newheader->closest = NULL;
- newheader->count = init_count++;
+ newheader->count = atomic_fetch_add(&init_count, 1);
newheader->last_used = 0;
newheader->node = node;
setownercase(newheader, name);