From 7000ef44716486cad3447fbc506ee9aec4c668fd Mon Sep 17 00:00:00 2001 From: RipleyTom Date: Sat, 18 Mar 2023 19:13:33 +0100 Subject: [PATCH] Fix timeout spam from signaling --- rpcs3/Emu/NP/signaling_handler.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/NP/signaling_handler.cpp b/rpcs3/Emu/NP/signaling_handler.cpp index a29b139628..922ca024c9 100644 --- a/rpcs3/Emu/NP/signaling_handler.cpp +++ b/rpcs3/Emu/NP/signaling_handler.cpp @@ -610,11 +610,15 @@ void signaling_handler::stop_sig_nl(u32 conn_id) if (!sig_peers.contains(conn_id)) return; + std::shared_ptr si = ::at32(sig_peers, conn_id); + + // Do not queue packets for an already dead connection + if (si->conn_status == SCE_NP_SIGNALING_CONN_STATUS_INACTIVE) + return; + auto& sent_packet = sig_packet; sent_packet.command = signal_finished; - std::shared_ptr si = ::at32(sig_peers, conn_id); - send_signaling_packet(sent_packet, si->addr, si->port); queue_signaling_packet(sent_packet, std::move(si), steady_clock::now() + REPEAT_FINISHED_DELAY); }