diff --git a/public/client/tracy_concurrentqueue.h b/public/client/tracy_concurrentqueue.h index 2ae31cc9..161f9580 100644 --- a/public/client/tracy_concurrentqueue.h +++ b/public/client/tracy_concurrentqueue.h @@ -680,7 +680,7 @@ private: while (head != nullptr) { auto prevHead = head; auto refs = head->freeListRefs.load(std::memory_order_relaxed); - if ((refs & REFS_MASK) == 0 || !head->freeListRefs.compare_exchange_strong(refs, refs + 1, std::memory_order_acquire, std::memory_order_relaxed)) { + if ((refs & REFS_MASK) == 0 || !head->freeListRefs.compare_exchange_strong(refs, refs + 1, std::memory_order_acquire)) { head = freeListHead.load(std::memory_order_acquire); continue; } @@ -730,7 +730,7 @@ private: node->freeListRefs.store(1, std::memory_order_release); if (!freeListHead.compare_exchange_strong(head, node, std::memory_order_release, std::memory_order_relaxed)) { // Hmm, the add failed, but we can only try again when the refcount goes back to zero - if (node->freeListRefs.fetch_add(SHOULD_BE_ON_FREELIST - 1, std::memory_order_release) == 1) { + if (node->freeListRefs.fetch_add(SHOULD_BE_ON_FREELIST - 1, std::memory_order_acq_rel) == 1) { continue; } } @@ -794,7 +794,7 @@ private: } else { // Increment counter - auto prevVal = elementsCompletelyDequeued.fetch_add(1, std::memory_order_release); + auto prevVal = elementsCompletelyDequeued.fetch_add(1, std::memory_order_acq_rel); assert(prevVal < BLOCK_SIZE); return prevVal == BLOCK_SIZE - 1; } @@ -816,7 +816,7 @@ private: } else { // Increment counter - auto prevVal = elementsCompletelyDequeued.fetch_add(count, std::memory_order_release); + auto prevVal = elementsCompletelyDequeued.fetch_add(count, std::memory_order_acq_rel); assert(prevVal + count <= BLOCK_SIZE); return prevVal + count == BLOCK_SIZE; }