From 1510505b303cf928959f892fb3d5c84396eb4772 Mon Sep 17 00:00:00 2001 From: Eladash Date: Sun, 29 Mar 2020 22:53:03 +0300 Subject: [PATCH] Fix sys_rwlock_wlock timeout event --- rpcs3/Emu/Cell/lv2/sys_rwlock.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp b/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp index 17b945dc1a..f74050ba94 100644 --- a/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp @@ -371,6 +371,10 @@ error_code sys_rwlock_wlock(ppu_thread& ppu, u32 rw_lock_id, u64 timeout) lv2_obj::awake_all(); } + else if (rwlock->rq.empty() && rwlock->wq.empty()) + { + rwlock->owner &= -2; + } ppu.gpr[3] = CELL_ETIMEDOUT; break;