From ec60113e09d9fc985b1c35fe1c579ef73c067d91 Mon Sep 17 00:00:00 2001 From: selsta Date: Sun, 31 May 2026 02:37:15 +0200 Subject: p2p: make stop signal idempotent --- contrib/epee/include/net/abstract_tcp_server2.inl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'contrib') diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl index 56d3d7de2..f15928f45 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.inl +++ b/contrib/epee/include/net/abstract_tcp_server2.inl @@ -1579,7 +1579,11 @@ namespace net_utils template void boosted_tcp_server::send_stop_signal(std::function close_all_connections) { - m_stop_signal_sent = true; + if (m_stop_signal_sent.exchange(true)) + { + MDEBUG("Stop signal already sent"); + return; + } typename connection::shared_state *state = static_cast::shared_state*>(m_state.get()); state->stop_signal_sent = true; TRY_ENTRY(); -- cgit v1.2.3