Use the right memory ordering in SafeNumeric operations

This commit is contained in:
Pedro J. Estébanez 2022-07-19 10:04:59 +02:00
parent 3ae61590e1
commit 02a584d8e6

View file

@ -111,7 +111,7 @@ public:
if (tmp >= p_value) {
return tmp; // already greater, or equal
}
if (value.compare_exchange_weak(tmp, p_value, std::memory_order_release)) {
if (value.compare_exchange_weak(tmp, p_value, std::memory_order_acq_rel)) {
return p_value;
}
}
@ -123,7 +123,7 @@ public:
if (c == 0) {
return 0;
}
if (value.compare_exchange_weak(c, c + 1, std::memory_order_release)) {
if (value.compare_exchange_weak(c, c + 1, std::memory_order_acq_rel)) {
return c + 1;
}
}