From 3fa86e9db91f3ce8cf9619a5cf89658db597b324 Mon Sep 17 00:00:00 2001 From: Maikel Nadolski Date: Wed, 1 Nov 2023 09:49:30 +0100 Subject: [PATCH] Fix memory ordering in lifo_queue put --- include/exec/__detail/__bwos_lifo_queue.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/exec/__detail/__bwos_lifo_queue.hpp b/include/exec/__detail/__bwos_lifo_queue.hpp index 9cb68debf..42e702333 100644 --- a/include/exec/__detail/__bwos_lifo_queue.hpp +++ b/include/exec/__detail/__bwos_lifo_queue.hpp @@ -375,7 +375,7 @@ namespace exec::bwos { std::uint64_t back = tail_.load(std::memory_order_relaxed); if (back < block_size()) [[likely]] { ring_buffer_[back] = static_cast(value); - tail_.store(back + 1, std::memory_order_relaxed); + tail_.store(back + 1, std::memory_order_release); return lifo_queue_error_code::success; } return lifo_queue_error_code::full;