diff --git a/repertory/librepertory/src/comm/packet/packet_client.cpp b/repertory/librepertory/src/comm/packet/packet_client.cpp index 47bf8998..f87b5258 100644 --- a/repertory/librepertory/src/comm/packet/packet_client.cpp +++ b/repertory/librepertory/src/comm/packet/packet_client.cpp @@ -95,24 +95,22 @@ void packet_client::connect(client &cli) { } auto packet_client::get_client() -> std::shared_ptr { - std::shared_ptr ret; - unique_mutex_lock clients_lock(clients_mutex_); if (not allow_connections_) { - return ret; + return nullptr; } if (clients_.empty()) { clients_lock.unlock(); - ret = std::make_shared(io_context_); - connect(*ret); - return ret; + auto cli = std::make_shared(io_context_); + connect(*cli); + return cli; } - ret = clients_.at(0U); - utils::collection::remove_element(clients_, ret); - return ret; + auto cli = clients_.at(0U); + utils::collection::remove_element(clients_, cli); + return cli; } void packet_client::put_client(std::shared_ptr &cli) {