From 6d950d15ba5192a86c57d8045d1d26f9ad4be0db Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 16 Jul 2020 16:13:21 +0200 Subject: [PATCH] Use signed int for atomic operations -- #8314 --- libs/pbd/pbd/mpmc_queue.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/pbd/pbd/mpmc_queue.h b/libs/pbd/pbd/mpmc_queue.h index a7909a9010..2c08068e18 100644 --- a/libs/pbd/pbd/mpmc_queue.h +++ b/libs/pbd/pbd/mpmc_queue.h @@ -82,7 +82,7 @@ public: push_back (T const& data) { cell_t* cell; - guint pos = g_atomic_int_get (&_enqueue_pos); + gint pos = g_atomic_int_get (&_enqueue_pos); for (;;) { cell = &_buffer[pos & _buffer_mask]; guint seq = g_atomic_int_get (&cell->_sequence); @@ -108,7 +108,7 @@ public: pop_front (T& data) { cell_t* cell; - guint pos = g_atomic_int_get (&_dequeue_pos); + gint pos = g_atomic_int_get (&_dequeue_pos); for (;;) { cell = &_buffer[pos & _buffer_mask]; guint seq = g_atomic_int_get (&cell->_sequence); @@ -138,8 +138,8 @@ private: cell_t* _buffer; size_t _buffer_mask; - volatile guint _enqueue_pos; - volatile guint _dequeue_pos; + volatile gint _enqueue_pos; + volatile gint _dequeue_pos; }; } /* end namespace */