mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 23:25:38 +00:00
Avoid an extra atomic_load() call
This commit is contained in:
@@ -157,15 +157,12 @@ void isc_stats_update_if_greater(isc_stats_t *stats,
|
|||||||
REQUIRE(ISC_STATS_VALID(stats));
|
REQUIRE(ISC_STATS_VALID(stats));
|
||||||
REQUIRE(counter < stats->ncounters);
|
REQUIRE(counter < stats->ncounters);
|
||||||
|
|
||||||
isc_statscounter_t curr_value;
|
isc_statscounter_t curr_value =
|
||||||
|
atomic_load_relaxed(&stats->counters[counter]);
|
||||||
do {
|
do {
|
||||||
curr_value = atomic_load_explicit(&stats->counters[counter],
|
|
||||||
memory_order_relaxed);
|
|
||||||
if (curr_value >= value) {
|
if (curr_value >= value) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (!atomic_compare_exchange_strong(&stats->counters[counter],
|
} while (!atomic_compare_exchange_strong(&stats->counters[counter],
|
||||||
&curr_value,
|
&curr_value,
|
||||||
value));
|
value));
|
||||||
|
Reference in New Issue
Block a user