aboutsummaryrefslogtreecommitdiff
path: root/include/salticidae/queue.h
diff options
context:
space:
mode:
authorDeterminant <ted.sybil@gmail.com>2018-11-14 15:19:32 -0500
committerDeterminant <ted.sybil@gmail.com>2018-11-14 15:19:32 -0500
commit0f341fe7f092f704e1c1952c72085eb1ebd2086a (patch)
treef730db073fa232f911e6df7e6099852a090330bb /include/salticidae/queue.h
parent2c1e8ec448a1039ab9a46bce4c959e6ec3cefeb8 (diff)
use ThreadCall pattern
Diffstat (limited to 'include/salticidae/queue.h')
-rw-r--r--include/salticidae/queue.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/salticidae/queue.h b/include/salticidae/queue.h
index 9045e2b..0b493ea 100644
--- a/include/salticidae/queue.h
+++ b/include/salticidae/queue.h
@@ -105,7 +105,7 @@ class MPMCQueue {
void _enqueue(Block *nblk, U &&e) {
new (&(nblk->elem)) T(std::forward<U>(e));
nblk->next.store(nullptr, std::memory_order_release);
- auto prev = tail.exchange(nblk, std::memory_order_relaxed);
+ auto prev = tail.exchange(nblk, std::memory_order_acq_rel);
prev->next.store(nblk, std::memory_order_relaxed);
}