From d391401406b31986e99ff607b25d4c5fdf734349 Mon Sep 17 00:00:00 2001 From: Johannes Wendel Date: Fri, 8 Nov 2019 00:21:16 +0100 Subject: [PATCH] modfied queue --- FlippR-Driver/src/utility/BlockingQueue.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FlippR-Driver/src/utility/BlockingQueue.hpp b/FlippR-Driver/src/utility/BlockingQueue.hpp index 886902e..1a0a6d3 100644 --- a/FlippR-Driver/src/utility/BlockingQueue.hpp +++ b/FlippR-Driver/src/utility/BlockingQueue.hpp @@ -25,7 +25,7 @@ template class BlockingQueue : public IBlockingQueue { private: - std::mutex d_mutex; + std::mutex write_mutex, read_mutex; std::condition_variable d_condition; heap::priority_queue> p_queue; @@ -33,7 +33,7 @@ public: void push(T const &value) { { - std::unique_lock lock(this->d_mutex); + std::unique_lock lock(this->write_mutex); p_queue.push(value); } this->d_condition.notify_one(); @@ -41,7 +41,7 @@ public: T pop() { - std::unique_lock lock(this->d_mutex); + std::unique_lock lock(this->read_mutex); this->d_condition.wait(lock, [=] { return !this->p_queue.empty(); }); T rc = *this->p_queue.begin();