liblv2 HLE: Fix sys_lwmutex_lock assertation

This commit is contained in:
Eladash 2020-03-23 18:24:30 +02:00 committed by Ivan
parent 08e66ab14c
commit 52360b3f98
1 changed files with 2 additions and 2 deletions

View File

@ -178,7 +178,7 @@ error_code sys_lwmutex_lock(ppu_thread& ppu, vm::ptr<sys_lwmutex_t> lwmutex, u64
// locking succeeded
auto old = lwmutex->vars.owner.exchange(tid);
if (old != lwmutex_reserved)
if (old != lwmutex_reserved && old >> 24 != 1)
{
fmt::throw_exception("Locking failed (lwmutex=*0x%x, owner=0x%x)" HERE, lwmutex, old);
}
@ -308,7 +308,7 @@ error_code sys_lwmutex_trylock(ppu_thread& ppu, vm::ptr<sys_lwmutex_t> lwmutex)
// locking succeeded
auto old = lwmutex->vars.owner.exchange(tid);
if (old != lwmutex_reserved)
if (old != lwmutex_reserved && old >> 24 != 1)
{
fmt::throw_exception("Locking failed (lwmutex=*0x%x, owner=0x%x)" HERE, lwmutex, old);
}