p2p: make stop signal idempotent

This commit is contained in:
selsta
2026-06-01 19:22:26 +02:00
parent 8a1de602f0
commit ec60113e09
3 changed files with 11 additions and 1 deletions
@@ -1579,7 +1579,11 @@ namespace net_utils
template<class t_protocol_handler>
void boosted_tcp_server<t_protocol_handler>::send_stop_signal(std::function<void()> close_all_connections)
{
m_stop_signal_sent = true;
if (m_stop_signal_sent.exchange(true))
{
MDEBUG("Stop signal already sent");
return;
}
typename connection<t_protocol_handler>::shared_state *state = static_cast<typename connection<t_protocol_handler>::shared_state*>(m_state.get());
state->stop_signal_sent = true;
TRY_ENTRY();