Browse Source

Merge pull request #63187 from RandomShaper/fix_atomic_cmp_exchange

Rémi Verschelde 3 years ago
parent
commit
cce330bda5
1 changed files with 2 additions and 2 deletions
  1. 2 2
      core/templates/safe_refcount.h

+ 2 - 2
core/templates/safe_refcount.h

@@ -111,7 +111,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;
 			}
 			}
 		}
 		}
@@ -123,7 +123,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;
 			}
 			}
 		}
 		}