aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobtoht <tob@featherwallet.org>2025-07-07 19:38:55 +0000
committertobtoht <tob@featherwallet.org>2025-07-07 19:38:55 +0000
commit3176fbd7fb875a3c5ccb44f4ba60f6e9c5b4da9a (patch)
tree9f7264e7465655ff2142bdf582316661c974a638
parent8c963a5601d337bb189943e674f4d4dbfc1f6bc7 (diff)
parent9f3d96eba6cc56d1ed6609cc7927c3561e789a3b (diff)
downloadmonzero-core-3176fbd7fb875a3c5ccb44f4ba60f6e9c5b4da9a.tar.gz
monzero-core-3176fbd7fb875a3c5ccb44f4ba60f6e9c5b4da9a.tar.xz
monzero-core-3176fbd7fb875a3c5ccb44f4ba60f6e9c5b4da9a.zip
Merge pull request #9956
9f3d96e Add check for exception in tcp accept handler (Lee *!* Clagett)
-rw-r--r--contrib/epee/include/net/abstract_tcp_server2.inl4
1 files changed, 4 insertions, 0 deletions
diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl
index 7c671d0e4..bc1f801a4 100644
--- a/contrib/epee/include/net/abstract_tcp_server2.inl
+++ b/contrib/epee/include/net/abstract_tcp_server2.inl
@@ -1540,6 +1540,7 @@ namespace net_utils
accept_function_pointer = &boosted_tcp_server<t_protocol_handler>::handle_accept_ipv6;
}
+ bool accept_started = false;
try
{
if (!e)
@@ -1560,6 +1561,7 @@ namespace net_utils
current_acceptor->async_accept((*current_new_connection)->socket(),
boost::bind(accept_function_pointer, this,
boost::asio::placeholders::error));
+ accept_started = true;
boost::asio::socket_base::keep_alive opt(true);
conn->socket().set_option(opt);
@@ -1585,6 +1587,8 @@ namespace net_utils
catch (const std::exception &e)
{
MERROR("Exception in boosted_tcp_server<t_protocol_handler>::handle_accept: " << e.what());
+ if (accept_started)
+ return;
}
// error path, if e or exception