From b4b688d3b91ebd94f027b1ce1e426c321f7f7479 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Sat, 28 Dec 2024 19:35:17 -0600 Subject: [PATCH] refactor --- .../src/comm/packet/client_pool.cpp | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/repertory/librepertory/src/comm/packet/client_pool.cpp b/repertory/librepertory/src/comm/packet/client_pool.cpp index 3314d50c..a9b8b32e 100644 --- a/repertory/librepertory/src/comm/packet/client_pool.cpp +++ b/repertory/librepertory/src/comm/packet/client_pool.cpp @@ -146,18 +146,20 @@ void client_pool::remove_client(const std::string &client_id) { } void client_pool::shutdown() { - if (not shutdown_) { - event_system::instance().raise("client_pool"); - unique_mutex_lock pool_lock(pool_mutex_); - if (not shutdown_) { - shutdown_ = true; - for (auto &pool_entry : pool_lookup_) { - pool_entry.second->shutdown(); - } - pool_lookup_.clear(); - } - pool_lock.unlock(); - event_system::instance().raise("client_pool"); + if (shutdown_) { + return; } + + event_system::instance().raise("client_pool"); + unique_mutex_lock pool_lock(pool_mutex_); + if (not shutdown_) { + shutdown_ = true; + for (auto &pool_entry : pool_lookup_) { + pool_entry.second->shutdown(); + } + pool_lookup_.clear(); + } + pool_lock.unlock(); + event_system::instance().raise("client_pool"); } } // namespace repertory