From 133e9d4705f672312312ad53c5c51ebc47a4d3df Mon Sep 17 00:00:00 2001 From: Eladash Date: Wed, 10 Aug 2022 16:17:59 +0300 Subject: [PATCH] CPUThread.cpp: Fix cpu_flag::pending reset --- rpcs3/Emu/CPU/CPUThread.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/CPU/CPUThread.cpp b/rpcs3/Emu/CPU/CPUThread.cpp index 741054505c..d48f902f63 100644 --- a/rpcs3/Emu/CPU/CPUThread.cpp +++ b/rpcs3/Emu/CPU/CPUThread.cpp @@ -775,14 +775,12 @@ bool cpu_thread::check_state() noexcept cpu_counter::add(this); } - constexpr auto pending_and_temp = (cpu_flag::pending + cpu_flag::temp); - - if ((state0 & pending_and_temp) == cpu_flag::pending) + if (cpu_can_stop && state0 & cpu_flag::pending) { // Execute pending work cpu_work(); - if ((state1 ^ state) - pending_and_temp) + if ((state1 ^ state) - cpu_flag::pending) { // Work could have changed flags // Reset internal flags as if check_state() has just been called