From af8440b248c9d9c3a427a05c1d2572c261837941 Mon Sep 17 00:00:00 2001 From: gabime Date: Sat, 18 Jan 2025 16:04:31 +0200 Subject: [PATCH] Small clean of enqueue_if_have_room in mpmc_blocking_q.h --- include/spdlog/details/mpmc_blocking_q.h | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/include/spdlog/details/mpmc_blocking_q.h b/include/spdlog/details/mpmc_blocking_q.h index af7d12fd..f8e5a288 100644 --- a/include/spdlog/details/mpmc_blocking_q.h +++ b/include/spdlog/details/mpmc_blocking_q.h @@ -47,20 +47,15 @@ public: } void enqueue_if_have_room(T &&item) { - bool pushed = false; { - std::unique_lock lock(queue_mutex_); - if (!q_.full()) { - q_.push_back(std::move(item)); - pushed = true; + std::unique_lock lock(queue_mutex_); + if (q_.full()) { + ++discard_counter_; + return; } + q_.push_back(std::move(item)); } - - if (pushed) { - push_cv_.notify_one(); - } else { - ++discard_counter_; - } + push_cv_.notify_one(); } // dequeue with a timeout.