Refactor isc_stats_create() and its downstream users to return void

The isc_stats_create() can no longer return anything else than
ISC_R_SUCCESS.  Refactor isc_stats_create() and its variants in libdns,
libns and named to just return void.
This commit is contained in:
Ondřej Surý 2023-06-26 10:58:30 +02:00 committed by Ondřej Surý
parent 6a6f2e58e9
commit 5321c474ea
17 changed files with 79 additions and 218 deletions

View file

@ -2167,11 +2167,11 @@ run_server(void *arg) {
CHECK(dns_view_createresolver(view, loopmgr, 1, netmgr, 0,
tlsctx_client_cache, dispatch, NULL));
CHECK(isc_stats_create(mctx, &resstats, dns_resstatscounter_max));
isc_stats_create(mctx, &resstats, dns_resstatscounter_max);
dns_resolver_setstats(view->resolver, resstats);
isc_stats_detach(&resstats);
CHECK(dns_rdatatypestats_create(mctx, &resquerystats));
dns_rdatatypestats_create(mctx, &resquerystats);
dns_resolver_setquerystats(view->resolver, resquerystats);
dns_stats_detach(&resquerystats);

View file

@ -1791,27 +1791,20 @@ cleanup:
return (result);
}
static isc_result_t
static void
setquerystats(dns_zone_t *zone, isc_mem_t *mctx, dns_zonestat_level_t level) {
isc_result_t result;
isc_stats_t *zoneqrystats;
dns_zone_setstatlevel(zone, level);
zoneqrystats = NULL;
if (level == dns_zonestat_full) {
result = isc_stats_create(mctx, &zoneqrystats,
ns_statscounter_max);
if (result != ISC_R_SUCCESS) {
return (result);
}
isc_stats_create(mctx, &zoneqrystats, ns_statscounter_max);
}
dns_zone_setrequeststats(zone, zoneqrystats);
if (zoneqrystats != NULL) {
isc_stats_detach(&zoneqrystats);
}
return (ISC_R_SUCCESS);
}
static named_cache_t *
@ -1963,7 +1956,7 @@ dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na,
dns_zone_setcheckdstype(zone, dns_checkdstype_no);
dns_zone_setnotifytype(zone, dns_notifytype_no);
dns_zone_setoption(zone, DNS_ZONEOPT_NOCHECKNS, true);
CHECK(setquerystats(zone, mctx, dns_zonestat_none)); /* XXXMPA */
setquerystats(zone, mctx, dns_zonestat_none);
CHECK(dns_view_addzone(view, zone));
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
@ -3548,7 +3541,7 @@ create_empty_zone(dns_zone_t *pzone, dns_name_t *name, dns_view_t *view,
dns_zone_clearxfracl(zone);
}
CHECK(setquerystats(zone, view->mctx, statlevel));
setquerystats(zone, view->mctx, statlevel);
if (db != NULL) {
dns_db_closeversion(db, &version, true);
CHECK(dns_zone_replacedb(zone, db, false));
@ -4711,12 +4704,11 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
named_g_server->tlsctx_client_cache, dispatch4, dispatch6));
if (resstats == NULL) {
CHECK(isc_stats_create(mctx, &resstats,
dns_resstatscounter_max));
isc_stats_create(mctx, &resstats, dns_resstatscounter_max);
}
dns_resolver_setstats(view->resolver, resstats);
if (resquerystats == NULL) {
CHECK(dns_rdatatypestats_create(mctx, &resquerystats));
dns_rdatatypestats_create(mctx, &resquerystats);
}
dns_resolver_setquerystats(view->resolver, resquerystats);
@ -6931,7 +6923,7 @@ add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) {
dns_zone_setjournalsize(zone, 0);
dns_zone_setstats(zone, named_g_server->zonestats);
CHECK(setquerystats(zone, mctx, dns_zonestat_none));
setquerystats(zone, mctx, dns_zonestat_none);
if (view->managed_keys != NULL) {
dns_zone_detach(&view->managed_keys);
@ -10170,18 +10162,15 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) {
server->sighup = isc_signal_new(
named_g_loopmgr, named_server_reloadwanted, server, SIGHUP);
CHECKFATAL(isc_stats_create(server->mctx, &server->sockstats,
isc_sockstatscounter_max),
"isc_stats_create");
isc_stats_create(server->mctx, &server->sockstats,
isc_sockstatscounter_max);
isc_nm_setstats(named_g_netmgr, server->sockstats);
CHECKFATAL(isc_stats_create(named_g_mctx, &server->zonestats,
dns_zonestatscounter_max),
"dns_stats_create (zone)");
isc_stats_create(named_g_mctx, &server->zonestats,
dns_zonestatscounter_max);
CHECKFATAL(isc_stats_create(named_g_mctx, &server->resolverstats,
dns_resstatscounter_max),
"dns_stats_create (resolver)");
isc_stats_create(named_g_mctx, &server->resolverstats,
dns_resstatscounter_max);
CHECKFATAL(named_controls_create(server, &server->controls),
"named_controls_create");

View file

@ -1174,10 +1174,9 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
rcvquerystats = NULL;
dnssecsignstats = NULL;
if (statlevel == dns_zonestat_full) {
CHECK(isc_stats_create(mctx, &zoneqrystats,
ns_statscounter_max));
CHECK(dns_rdatatypestats_create(mctx, &rcvquerystats));
CHECK(dns_dnssecsignstats_create(mctx, &dnssecsignstats));
isc_stats_create(mctx, &zoneqrystats, ns_statscounter_max);
dns_rdatatypestats_create(mctx, &rcvquerystats);
dns_dnssecsignstats_create(mctx, &dnssecsignstats);
}
dns_zone_setrequeststats(zone, zoneqrystats);
dns_zone_setrcvquerystats(zone, rcvquerystats);

View file

@ -1939,7 +1939,7 @@ destroy(dns_adb_t *adb) {
RWUNLOCK(&adb->entries_lock, isc_rwlocktype_write);
isc_rwlock_destroy(&adb->entries_lock);
isc_mem_destroy(&adb->hmctx);
isc_mem_detach(&adb->hmctx);
isc_mutex_destroy(&adb->lock);
isc_refcount_destroy(&adb->references);
@ -1964,7 +1964,6 @@ isc_result_t
dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_loopmgr_t *loopmgr,
dns_adb_t **newadb) {
dns_adb_t *adb = NULL;
isc_result_t result;
REQUIRE(mem != NULL);
REQUIRE(view != NULL);
@ -2003,10 +2002,7 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_loopmgr_t *loopmgr,
isc_mutex_init(&adb->lock);
result = isc_stats_create(adb->mctx, &adb->stats, dns_adbstats_max);
if (result != ISC_R_SUCCESS) {
goto free_lock;
}
isc_stats_create(adb->mctx, &adb->stats, dns_adbstats_max);
set_adbstat(adb, 0, dns_adbstats_nnames);
set_adbstat(adb, 0, dns_adbstats_nentries);
@ -2017,25 +2013,6 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_loopmgr_t *loopmgr,
adb->magic = DNS_ADB_MAGIC;
*newadb = adb;
return (ISC_R_SUCCESS);
free_lock:
isc_mutex_destroy(&adb->lock);
isc_rwlock_destroy(&adb->entries_lock);
isc_hashmap_destroy(&adb->entries);
INSIST(ISC_LIST_EMPTY(adb->entries_lru));
isc_rwlock_destroy(&adb->names_lock);
isc_hashmap_destroy(&adb->names);
INSIST(ISC_LIST_EMPTY(adb->names_lru));
isc_mem_destroy(&adb->hmctx);
dns_resolver_detach(&adb->res);
dns_view_weakdetach(&adb->view);
isc_mem_putanddetach(&adb->mctx, adb, sizeof(dns_adb_t));
return (result);
}
void

View file

@ -142,11 +142,7 @@ dns_cache_create(isc_loopmgr_t *loopmgr, dns_rdataclass_t rdclass,
isc_refcount_init(&cache->references, 1);
result = isc_stats_create(mctx, &cache->stats,
dns_cachestatscounter_max);
if (result != ISC_R_SUCCESS) {
goto cleanup_lock;
}
isc_stats_create(mctx, &cache->stats, dns_cachestatscounter_max);
/*
* Create the database
@ -175,7 +171,6 @@ cleanup_db:
dns_db_detach(&cache->db);
cleanup_stats:
isc_stats_detach(&cache->stats);
cleanup_lock:
isc_mutex_destroy(&cache->lock);
isc_mem_free(mctx, cache->name);
isc_mem_detach(&cache->hmctx);

View file

@ -168,7 +168,7 @@ dns_dt_create(isc_mem_t *mctx, dns_dtmode_t mode, const char *path,
isc_mutex_init(&env->reopen_lock);
env->path = isc_mem_strdup(env->mctx, path);
isc_refcount_init(&env->refcount, 1);
CHECK(isc_stats_create(env->mctx, &env->stats, dns_dnstapcounter_max));
isc_stats_create(env->mctx, &env->stats, dns_dnstapcounter_max);
fwopt = fstrm_writer_options_init();
if (fwopt == NULL) {

View file

@ -258,7 +258,7 @@ typedef void (*dns_rcodestats_dumper_t)(dns_rcode_t, uint64_t, void *);
ISC_LANG_BEGINDECLS
isc_result_t
void
dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters);
/*%<
* Create a statistics counter structure of general type. It counts a general
@ -270,14 +270,9 @@ dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters);
*\li 'mctx' must be a valid memory context.
*
*\li 'statsp' != NULL && '*statsp' == NULL.
*
* Returns:
*\li ISC_R_SUCCESS -- all ok
*
*\li anything else -- failure
*/
isc_result_t
void
dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp);
/*%<
* Create a statistics counter structure per rdatatype.
@ -286,14 +281,9 @@ dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp);
*\li 'mctx' must be a valid memory context.
*
*\li 'statsp' != NULL && '*statsp' == NULL.
*
* Returns:
*\li ISC_R_SUCCESS -- all ok
*
*\li anything else -- failure
*/
isc_result_t
void
dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp);
/*%<
* Create a statistics counter structure per RRset.
@ -302,14 +292,9 @@ dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp);
*\li 'mctx' must be a valid memory context.
*
*\li 'statsp' != NULL && '*statsp' == NULL.
*
* Returns:
*\li ISC_R_SUCCESS -- all ok
*
*\li anything else -- failure
*/
isc_result_t
void
dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp);
/*%<
* Create a statistics counter structure per opcode.
@ -318,14 +303,9 @@ dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp);
*\li 'mctx' must be a valid memory context.
*
*\li 'statsp' != NULL && '*statsp' == NULL.
*
* Returns:
*\li ISC_R_SUCCESS -- all ok
*
*\li anything else -- failure
*/
isc_result_t
void
dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp);
/*%<
* Create a statistics counter structure per assigned rcode.
@ -334,14 +314,9 @@ dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp);
*\li 'mctx' must be a valid memory context.
*
*\li 'statsp' != NULL && '*statsp' == NULL.
*
* Returns:
*\li ISC_R_SUCCESS -- all ok
*
*\li anything else -- failure
*/
isc_result_t
void
dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp);
/*%<
* Create a statistics counter structure per assigned DNSKEY id.
@ -350,11 +325,6 @@ dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp);
*\li 'mctx' must be a valid memory context.
*
*\li 'statsp' != NULL && '*statsp' == NULL.
*
* Returns:
*\li ISC_R_SUCCESS -- all ok
*
*\li anything else -- failure
*/
void

View file

@ -3800,10 +3800,7 @@ dns__rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
sizeof(rbtdb_nodelock_t));
if (IS_CACHE(rbtdb)) {
result = dns_rdatasetstats_create(mctx, &rbtdb->rrsetstats);
if (result != ISC_R_SUCCESS) {
goto cleanup_node_locks;
}
dns_rdatasetstats_create(mctx, &rbtdb->rrsetstats);
rbtdb->lru = isc_mem_get(mctx,
rbtdb->node_lock_count *
sizeof(dns_slabheaderlist_t));
@ -3955,10 +3952,6 @@ dns__rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
return (ISC_R_SUCCESS);
cleanup_node_locks:
isc_mem_put(mctx, rbtdb->node_locks,
rbtdb->node_lock_count * sizeof(rbtdb_nodelock_t));
cleanup_tree_lock:
TREE_DESTROYLOCK(&rbtdb->tree_lock);
RBTDB_DESTROYLOCK(&rbtdb->lock);

View file

@ -164,44 +164,31 @@ dns_stats_detach(dns_stats_t **statsp) {
/*%
* Create methods
*/
static isc_result_t
static void
create_stats(isc_mem_t *mctx, dns_statstype_t type, int ncounters,
dns_stats_t **statsp) {
dns_stats_t *stats;
isc_result_t result;
stats = isc_mem_get(mctx, sizeof(*stats));
dns_stats_t *stats = isc_mem_get(mctx, sizeof(*stats));
stats->counters = NULL;
isc_refcount_init(&stats->references, 1);
result = isc_stats_create(mctx, &stats->counters, ncounters);
if (result != ISC_R_SUCCESS) {
goto clean_mutex;
}
isc_stats_create(mctx, &stats->counters, ncounters);
stats->magic = DNS_STATS_MAGIC;
stats->type = type;
stats->mctx = NULL;
isc_mem_attach(mctx, &stats->mctx);
*statsp = stats;
return (ISC_R_SUCCESS);
clean_mutex:
isc_mem_put(mctx, stats, sizeof(*stats));
return (result);
}
isc_result_t
void
dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters) {
REQUIRE(statsp != NULL && *statsp == NULL);
return (create_stats(mctx, dns_statstype_general, ncounters, statsp));
create_stats(mctx, dns_statstype_general, ncounters, statsp);
}
isc_result_t
void
dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp) {
REQUIRE(statsp != NULL && *statsp == NULL);
@ -209,34 +196,34 @@ dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp) {
* Create rdtype statistics for the first 255 RRtypes,
* plus one additional for other RRtypes.
*/
return (create_stats(mctx, dns_statstype_rdtype,
(RDTYPECOUNTER_MAXTYPE + 1), statsp));
create_stats(mctx, dns_statstype_rdtype, (RDTYPECOUNTER_MAXTYPE + 1),
statsp);
}
isc_result_t
void
dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp) {
REQUIRE(statsp != NULL && *statsp == NULL);
return (create_stats(mctx, dns_statstype_rdataset,
(RDTYPECOUNTER_MAXVAL + 1), statsp));
create_stats(mctx, dns_statstype_rdataset, (RDTYPECOUNTER_MAXVAL + 1),
statsp);
}
isc_result_t
void
dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) {
REQUIRE(statsp != NULL && *statsp == NULL);
return (create_stats(mctx, dns_statstype_opcode, 16, statsp));
create_stats(mctx, dns_statstype_opcode, 16, statsp);
}
isc_result_t
void
dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) {
REQUIRE(statsp != NULL && *statsp == NULL);
return (create_stats(mctx, dns_statstype_rcode, dns_rcode_badcookie + 1,
statsp));
create_stats(mctx, dns_statstype_rcode, dns_rcode_badcookie + 1,
statsp);
}
isc_result_t
void
dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp) {
REQUIRE(statsp != NULL && *statsp == NULL);
@ -244,9 +231,8 @@ dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp) {
* Create two counters per key, one is the key id, the other two are
* the actual counters for creating and refreshing signatures.
*/
return (create_stats(mctx, dns_statstype_dnssec,
dnssecsign_num_keys * dnssecsign_block_size,
statsp));
create_stats(mctx, dns_statstype_dnssec,
dnssecsign_num_keys * dnssecsign_block_size, statsp);
}
/*%

View file

@ -1082,7 +1082,6 @@ inc_stats(dns_zone_t *zone, isc_statscounter_t counter) {
isc_result_t
dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx, unsigned int tid) {
isc_result_t result;
isc_time_t now;
dns_zone_t *zone = NULL;
@ -1157,11 +1156,8 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx, unsigned int tid) {
zone->notify = r;
zone->defaultkasp = NULL;
result = isc_stats_create(mctx, &zone->gluecachestats,
dns_gluecachestatscounter_max);
if (result != ISC_R_SUCCESS) {
goto free_refs;
}
isc_stats_create(mctx, &zone->gluecachestats,
dns_gluecachestatscounter_max);
zone->magic = ZONE_MAGIC;
@ -1170,15 +1166,6 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx, unsigned int tid) {
*zonep = zone;
return (ISC_R_SUCCESS);
free_refs:
isc_refcount_decrement0(&zone->references);
isc_refcount_destroy(&zone->references);
isc_refcount_destroy(&zone->irefs);
ZONEDB_DESTROYLOCK(&zone->dblock);
isc_mutex_destroy(&zone->lock);
isc_mem_putanddetach(&zone->mctx, zone, sizeof(*zone));
return (result);
}
static void

View file

@ -115,7 +115,7 @@ ISC_LANG_BEGINDECLS
*/
typedef void (*isc_stats_dumper_t)(isc_statscounter_t, uint64_t, void *);
isc_result_t
void
isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters);
/*%<
* Create a statistics counter structure of general type. It counts a general
@ -125,11 +125,6 @@ isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters);
*\li 'mctx' must be a valid memory context.
*
*\li 'statsp' != NULL && '*statsp' == NULL.
*
* Returns:
*\li ISC_R_SUCCESS -- all ok
*
*\li anything else -- failure
*/
void

View file

@ -37,29 +37,6 @@ struct isc_stats {
isc__atomic_statcounter_t *counters;
};
static isc_result_t
create_stats(isc_mem_t *mctx, int ncounters, isc_stats_t **statsp) {
isc_stats_t *stats;
size_t counters_alloc_size;
REQUIRE(statsp != NULL && *statsp == NULL);
stats = isc_mem_get(mctx, sizeof(*stats));
counters_alloc_size = sizeof(isc__atomic_statcounter_t) * ncounters;
stats->counters = isc_mem_get(mctx, counters_alloc_size);
isc_refcount_init(&stats->references, 1);
for (int i = 0; i < ncounters; i++) {
atomic_init(&stats->counters[i], 0);
}
stats->mctx = NULL;
isc_mem_attach(mctx, &stats->mctx);
stats->ncounters = ncounters;
stats->magic = ISC_STATS_MAGIC;
*statsp = stats;
return (ISC_R_SUCCESS);
}
void
isc_stats_attach(isc_stats_t *stats, isc_stats_t **statsp) {
REQUIRE(ISC_STATS_VALID(stats));
@ -94,11 +71,23 @@ isc_stats_ncounters(isc_stats_t *stats) {
return (stats->ncounters);
}
isc_result_t
void
isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters) {
REQUIRE(statsp != NULL && *statsp == NULL);
return (create_stats(mctx, ncounters, statsp));
isc_stats_t *stats = isc_mem_get(mctx, sizeof(*stats));
size_t counters_alloc_size = sizeof(isc__atomic_statcounter_t) *
ncounters;
stats->counters = isc_mem_get(mctx, counters_alloc_size);
isc_refcount_init(&stats->references, 1);
for (int i = 0; i < ncounters; i++) {
atomic_init(&stats->counters[i], 0);
}
stats->mctx = NULL;
isc_mem_attach(mctx, &stats->mctx);
stats->ncounters = ncounters;
stats->magic = ISC_STATS_MAGIC;
*statsp = stats;
}
void

View file

@ -15,6 +15,9 @@
/*! \file include/ns/stats.h */
#include <isc/mem.h>
#include <isc/stats.h>
#include <ns/types.h>
/*%
@ -118,7 +121,7 @@ ns_stats_attach(ns_stats_t *stats, ns_stats_t **statsp);
void
ns_stats_detach(ns_stats_t **statsp);
isc_result_t
void
ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp);
void

View file

@ -39,7 +39,6 @@ isc_result_t
ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview,
ns_server_t **sctxp) {
ns_server_t *sctx;
isc_result_t result;
REQUIRE(sctxp != NULL && *sctxp == NULL);
@ -65,13 +64,13 @@ ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview,
ISC_LIST_INIT(sctx->http_quotas);
isc_mutex_init(&sctx->http_quotas_lock);
CHECKFATAL(ns_stats_create(mctx, ns_statscounter_max, &sctx->nsstats));
ns_stats_create(mctx, ns_statscounter_max, &sctx->nsstats);
CHECKFATAL(dns_rdatatypestats_create(mctx, &sctx->rcvquerystats));
dns_rdatatypestats_create(mctx, &sctx->rcvquerystats);
CHECKFATAL(dns_opcodestats_create(mctx, &sctx->opcodestats));
dns_opcodestats_create(mctx, &sctx->opcodestats);
CHECKFATAL(dns_rcodestats_create(mctx, &sctx->rcodestats));
dns_rcodestats_create(mctx, &sctx->rcodestats);
isc_histomulti_create(mctx, DNS_SIZEHISTO_SIGBITSIN,
&sctx->udpinstats4);

View file

@ -58,34 +58,21 @@ ns_stats_detach(ns_stats_t **statsp) {
}
}
isc_result_t
void
ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp) {
ns_stats_t *stats;
isc_result_t result;
REQUIRE(statsp != NULL && *statsp == NULL);
stats = isc_mem_get(mctx, sizeof(*stats));
ns_stats_t *stats = isc_mem_get(mctx, sizeof(*stats));
stats->counters = NULL;
isc_refcount_init(&stats->references, 1);
result = isc_stats_create(mctx, &stats->counters, ncounters);
if (result != ISC_R_SUCCESS) {
goto clean_mem;
}
isc_stats_create(mctx, &stats->counters, ncounters);
stats->magic = NS_STATS_MAGIC;
stats->mctx = NULL;
isc_mem_attach(mctx, &stats->mctx);
*statsp = stats;
return (ISC_R_SUCCESS);
clean_mem:
isc_mem_put(mctx, stats, sizeof(*stats));
return (result);
}
/*%

View file

@ -188,16 +188,12 @@ verify_ancient_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) {
* active -> stale -> ancient.
*/
static void
rdatasetstats(void **state, bool servestale) {
rdatasetstats(void **state ISC_ATTR_UNUSED, bool servestale) {
unsigned int i;
unsigned int from = 0;
dns_stats_t *stats = NULL;
isc_result_t result;
UNUSED(state);
result = dns_rdatasetstats_create(mctx, &stats);
assert_int_equal(result, ISC_R_SUCCESS);
dns_rdatasetstats_create(mctx, &stats);
/* First 255 types. */
for (i = 1; i <= 255; i++) {

View file

@ -32,12 +32,8 @@
/* test stats */
ISC_RUN_TEST_IMPL(isc_stats_basic) {
isc_stats_t *stats = NULL;
isc_result_t result;
UNUSED(state);
result = isc_stats_create(mctx, &stats, 4);
assert_int_equal(result, ISC_R_SUCCESS);
isc_stats_create(mctx, &stats, 4);
assert_int_equal(isc_stats_ncounters(stats), 4);
/* Default all 0. */