Просмотр исходного кода

Merge pull request #63187 from RandomShaper/fix_atomic_cmp_exchange

Rémi Verschelde 3 лет назад
Родитель
Сommit
cce330bda5
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      core/templates/safe_refcount.h

+ 2 - 2
core/templates/safe_refcount.h

@@ -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;
 			}
 		}