mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-07 15:31:26 +12:00
SPU: Fix spu_thread::cpu_stop() missed executions (#8656)
This commit is contained in:
parent
ebf832214e
commit
82068cf802
6 changed files with 23 additions and 12 deletions
|
@ -433,11 +433,21 @@ void cpu_thread::operator()()
|
|||
if (!(state & cpu_flag::stop))
|
||||
{
|
||||
cpu_task();
|
||||
state -= cpu_flag::ret;
|
||||
|
||||
if (state & cpu_flag::ret && state.test_and_reset(cpu_flag::ret))
|
||||
{
|
||||
cpu_return();
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
thread_ctrl::wait();
|
||||
|
||||
if (state & cpu_flag::ret && state.test_and_reset(cpu_flag::ret))
|
||||
{
|
||||
cpu_return();
|
||||
}
|
||||
}
|
||||
|
||||
// Complete cleanup gracefully
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue