Use the right memory ordering in SafeNumeric operations
(cherry picked from commit 02a584d8e6
)
This commit is contained in:
parent
5f89f1a9ff
commit
4f98488d82
|
@ -113,7 +113,7 @@ public:
|
||||||
if (tmp >= p_value) {
|
if (tmp >= p_value) {
|
||||||
return tmp; // already greater, or equal
|
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;
|
return p_value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ public:
|
||||||
if (c == 0) {
|
if (c == 0) {
|
||||||
return 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;
|
return c + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue