diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index d012f4c97b..d2e672d431 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -15358,6 +15358,15 @@ HOST-127.EXAMPLE. MX 0 . BIND 8 statistics, if applicable. + + Note: BIND statistics counters are signed 64-bit values on + all platforms except one: 32-bit Windows, where they are + signed 32-bit values. Given that 32-bit values have a + vastly smaller range than 64-bit values, BIND statistics + counters in 32-bit Windows builds overflow significantly + more quickly than on all other platforms. + +
Name Server Statistics Counters diff --git a/lib/isc/stats.c b/lib/isc/stats.c index bbdb1f91ea..9a0e2f10ed 100644 --- a/lib/isc/stats.c +++ b/lib/isc/stats.c @@ -30,7 +30,11 @@ #define ISC_STATS_MAGIC ISC_MAGIC('S', 't', 'a', 't') #define ISC_STATS_VALID(x) ISC_MAGIC_VALID(x, ISC_STATS_MAGIC) +#if defined(_WIN32) && !defined(_WIN64) +typedef atomic_int_fast32_t isc_stat_t; +#else typedef atomic_int_fast64_t isc_stat_t; +#endif struct isc_stats { unsigned int magic;