]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
fixup! fixup! fixup! fixup! fixup! Add statsmulti
authorAlessio Podda <alessio@isc.org>
Tue, 9 Sep 2025 08:58:56 +0000 (10:58 +0200)
committerAlessio Podda <alessio@isc.org>
Wed, 24 Sep 2025 15:01:49 +0000 (17:01 +0200)
lib/isc/include/isc/statsmulti.h
lib/isc/statsmulti.c

index 272f4631a4f9bede55cd178d571dae6aad668698..f408105c7f34c816db87ac7b1973246dbae050bf 100644 (file)
@@ -107,4 +107,13 @@ isc_statsmulti_get_counter(isc_statsmulti_t *stats, isc_statscounter_t counter);
  *
  *\li  counter is less than the maximum available ID for the stats specified
  *     on creation.
+ */
+
+void
+isc_statsmulti_clear(isc_statsmulti_t *stats);
+/*%<
+ * Set all counters to zero.
+ *
+ * Requires:
+ *\li  'stats' is a valid isc_statsmulti_t.
  */
\ No newline at end of file
index 8d9ee5a8d260cd95129a7c511a602bdce32bb13f..22279adc24fa87e989126a696ccb8a3651b30ab6 100644 (file)
@@ -161,3 +161,13 @@ isc_statsmulti_get_counter(isc_statsmulti_t *stats, isc_statscounter_t counter)
        }
        return total;
 }
+
+void
+isc_statsmulti_clear(isc_statsmulti_t *stats) {
+       REQUIRE(ISC_STATSMULTI_VALID(stats));
+
+       /* Clear all counters across all threads */
+       for (int i = 0; i < stats->per_thread_capacity * stats->num_threads; i++) {
+               atomic_store_relaxed(&stats->counters[i], 0);
+       }
+}