From 01caff794750e13879ce68fb5532e901215db64e Mon Sep 17 00:00:00 2001 From: Ivan Esyagin Date: Wed, 6 Nov 2024 12:10:20 +0300 Subject: [PATCH] Clearing the m_listeners map when it becomes empty --- Release/src/http/listener/http_server_asio.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Release/src/http/listener/http_server_asio.cpp b/Release/src/http/listener/http_server_asio.cpp index e83b9ff525..29824b7f76 100644 --- a/Release/src/http/listener/http_server_asio.cpp +++ b/Release/src/http/listener/http_server_asio.cpp @@ -167,6 +167,7 @@ class hostport_listener void add_listener(const std::string& path, http_listener_impl* listener); void remove_listener(const std::string& path, http_listener_impl* listener); + bool is_empty_listeners() { return m_listeners.empty(); } void internal_erase_connection(asio_server_connection*); @@ -1392,6 +1393,10 @@ pplx::task http_linux_server::unregister_listener(http_listener_impl* list } itr->second->remove_listener(path, listener); + if (itr->second->is_empty_listeners()) + { + m_listeners.erase(hostport); + } } // Second remove the listener form listener collection