From 04ebfbfefa1ae27a3d92d9f78548ca595687fe01 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sat, 29 Jul 2017 10:03:37 +0100 Subject: [PATCH] p2p: close connections when exiting This ensures they don't leak if they were in the middle of an async operation. --- src/p2p/net_node.inl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index 4ecf8f71..5bc9cd48 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -714,6 +714,14 @@ namespace nodetool template bool node_server::send_stop_signal() { + std::list connection_ids; + m_net_server.get_config_object().foreach_connection([&](const p2p_connection_context& cntxt) { + connection_ids.push_back(cntxt.m_connection_id); + return true; + }); + for (const auto &connection_id: connection_ids) + m_net_server.get_config_object().close(connection_id); + m_payload_handler.stop(); m_net_server.send_stop_signal(); MDEBUG("[node] Stop signal sent");