struct isc_stats {
unsigned int magic;
isc_mem_t *mctx;
- isc_refcount_t refs;
+ isc_refcount_t references;
int ncounters;
isc_stat_t *counters;
};
static isc_result_t
create_stats(isc_mem_t *mctx, int ncounters, isc_stats_t **statsp) {
isc_stats_t *stats;
- int i;
REQUIRE(statsp != NULL && *statsp == NULL);
stats = isc_mem_get(mctx, sizeof(*stats));
stats->counters = isc_mem_get(mctx, sizeof(isc_stat_t) * ncounters);
- isc_refcount_init(&stats->refs, 1);
- for (i = 0; i < ncounters; i++) {
- atomic_init(&stats->counters[i], 0);
- }
+ isc_refcount_init(&stats->references, 1);
+ memset(stats->counters, 0, sizeof(isc_stat_t) * ncounters);
stats->mctx = NULL;
isc_mem_attach(mctx, &stats->mctx);
stats->ncounters = ncounters;
REQUIRE(ISC_STATS_VALID(stats));
REQUIRE(statsp != NULL && *statsp == NULL);
- isc_refcount_increment(&stats->refs);
+ isc_refcount_increment(&stats->references);
*statsp = stats;
}
stats = *statsp;
*statsp = NULL;
- if (isc_refcount_decrement(&stats->refs) == 1) {
+ if (isc_refcount_decrement(&stats->references) == 1) {
isc_mem_put(stats->mctx, stats->counters,
sizeof(isc_stat_t) * stats->ncounters);
isc_mem_putanddetach(&stats->mctx, stats, sizeof(*stats));