From 410a7bedbcf00119a9b8fc968f4a09f8168b96ca Mon Sep 17 00:00:00 2001 From: Manuel Pitz Date: Mon, 8 Apr 2019 17:21:31 +0200 Subject: [PATCH] queue: fix atomic_store_explicit different implementation on arm --- lib/queue.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/queue.cpp b/lib/queue.cpp index 8f560a009..53c1893d7 100644 --- a/lib/queue.cpp +++ b/lib/queue.cpp @@ -57,9 +57,14 @@ int queue_init(struct queue *q, size_t size, struct memory_type *m) for (size_t i = 0; i != size; i += 1) std::atomic_store_explicit(&buffer[i].sequence, i, std::memory_order_relaxed); +#ifndef __arm__ std::atomic_store_explicit(&q->tail, 0ul, std::memory_order_relaxed); std::atomic_store_explicit(&q->head, 0ul, std::memory_order_relaxed); +#else + std::atomic_store_explicit(&q->tail, 0u, std::memory_order_relaxed); + std::atomic_store_explicit(&q->head, 0u, std::memory_order_relaxed); +#endif q->state = STATE_INITIALIZED; return 0;