From 7e853abc4b584c0ba7a8baa5fdaa6fa005369f3e Mon Sep 17 00:00:00 2001 From: Eladash <18193363+elad335@users.noreply.github.com> Date: Sun, 17 Dec 2023 23:45:15 +0200 Subject: [PATCH] Fix tcp_timeout_monitor abort --- rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2ps.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2ps.cpp b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2ps.cpp index e08ce43308..f6ae0158a1 100644 --- a/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2ps.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_net/lv2_socket_p2ps.cpp @@ -74,6 +74,12 @@ public: while (thread_ctrl::state() != thread_state::aborting) { std::unique_lock lock(data_mutex); + + if (thread_ctrl::state() == thread_state::aborting) + { + break; + } + if (msgs.size()) wakey.wait_until(lock, msgs.begin()->first); else @@ -150,6 +156,8 @@ public: tcp_timeout_monitor& operator=(thread_state) { + data_mutex.lock(); + data_mutex.unlock(); wakey.notify_one(); return *this; }