From edb64d5a7d34e6b9398e10b17863597b7e08cb1a Mon Sep 17 00:00:00 2001 From: Florian Schmaus <flow@cs.fau.de> Date: Sun, 13 Dec 2020 10:31:01 +0100 Subject: [PATCH] [UnboundedBlockingMpscQueue] Improve readability: use early-return pattern --- emper/UnboundedBlockingMpscQueue.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/emper/UnboundedBlockingMpscQueue.hpp b/emper/UnboundedBlockingMpscQueue.hpp index 5b2c8534..81c8a2ff 100644 --- a/emper/UnboundedBlockingMpscQueue.hpp +++ b/emper/UnboundedBlockingMpscQueue.hpp @@ -33,13 +33,14 @@ class UnboundedBlockingMpscQueue : public Blockable<LogSubsystem::U_B_MPSC_Q> { // Therefore if we tryToGet a new 't' while 't' is available the current 't' // would be overridden and dropped. assert(!tPopped); + std::lock_guard<std::mutex> lock(queueMutex); - if (!mpscQueue.empty()) { - t = mpscQueue.front(); - mpscQueue.pop(); - tPopped = true; - postRetrieve(); - } + if (mpscQueue.empty()) return; + + t = mpscQueue.front(); + mpscQueue.pop(); + tPopped = true; + postRetrieve(); } public: -- GitLab