diff --git a/lib/isc/counter.c b/lib/isc/counter.c index 452ca10663..5cfac452f7 100644 --- a/lib/isc/counter.c +++ b/lib/isc/counter.c @@ -80,6 +80,13 @@ isc_counter_setlimit(isc_counter_t *counter, int limit) { atomic_store(&counter->limit, limit); } +int +isc_counter_getlimit(isc_counter_t *counter) { + REQUIRE(VALID_COUNTER(counter)); + + return atomic_load_acquire(&counter->limit); +} + void isc_counter_attach(isc_counter_t *source, isc_counter_t **targetp) { REQUIRE(VALID_COUNTER(source)); diff --git a/lib/isc/include/isc/counter.h b/lib/isc/include/isc/counter.h index 820e4a2f65..30ae273ae0 100644 --- a/lib/isc/include/isc/counter.h +++ b/lib/isc/include/isc/counter.h @@ -68,6 +68,12 @@ isc_counter_setlimit(isc_counter_t *counter, int limit); * Set the counter limit. */ +int +isc_counter_getlimit(isc_counter_t *counter); +/*%< + * Get the counter limit. + */ + void isc_counter_attach(isc_counter_t *source, isc_counter_t **targetp); /*%<