LV2: Minor optimization regarding signal flag

This commit is contained in:
Eladash 2022-07-21 16:53:49 +03:00 committed by Ivan
parent dc851a729e
commit 2eebbd307d
11 changed files with 24 additions and 26 deletions

View file

@ -184,9 +184,9 @@ error_code _sys_lwmutex_lock(ppu_thread& ppu, u32 lwmutex_id, u64 timeout)
return not_an_error(ppu.gpr[3]);
}
while (auto state = ppu.state.fetch_sub(cpu_flag::signal))
while (auto state = +ppu.state)
{
if (state & cpu_flag::signal)
if (state & cpu_flag::signal && ppu.state.test_and_reset(cpu_flag::signal))
{
break;
}