From fd839243ecc2ae8f0ffb6ddd822870459d9fd808 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Tue, 27 Aug 2019 14:05:38 +0300 Subject: [PATCH] Revert PR 6405 --- rpcs3/Emu/Cell/lv2/lv2.cpp | 4 ++-- rpcs3/Emu/Cell/lv2/sys_cond.cpp | 5 ----- rpcs3/Emu/Cell/lv2/sys_event.cpp | 3 --- rpcs3/Emu/Cell/lv2/sys_event_flag.cpp | 3 --- rpcs3/Emu/Cell/lv2/sys_lwcond.cpp | 3 --- rpcs3/Emu/Cell/lv2/sys_lwmutex.cpp | 3 --- rpcs3/Emu/Cell/lv2/sys_mutex.cpp | 3 --- rpcs3/Emu/Cell/lv2/sys_rwlock.cpp | 6 ------ rpcs3/Emu/Cell/lv2/sys_semaphore.cpp | 3 --- 9 files changed, 2 insertions(+), 31 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/lv2.cpp b/rpcs3/Emu/Cell/lv2/lv2.cpp index 1302647245..b8117f83b2 100644 --- a/rpcs3/Emu/Cell/lv2/lv2.cpp +++ b/rpcs3/Emu/Cell/lv2/lv2.cpp @@ -1057,7 +1057,7 @@ void lv2_obj::sleep_unlocked(cpu_thread& thread, u64 timeout) if (!g_to_awake.empty()) { - // Schedule pending entries + // Schedule pending entries awake_unlocked({}); } else @@ -1144,7 +1144,7 @@ void lv2_obj::awake_unlocked(cpu_thread* cpu, u32 prio) // Emplace threads from list emplace_thread(_cpu); } - + // Remove pending if necessary if (!g_pending.empty() && cpu && cpu == get_current_cpu_thread()) { diff --git a/rpcs3/Emu/Cell/lv2/sys_cond.cpp b/rpcs3/Emu/Cell/lv2/sys_cond.cpp index 72f6ea660d..bf5c10d705 100644 --- a/rpcs3/Emu/Cell/lv2/sys_cond.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_cond.cpp @@ -264,9 +264,6 @@ error_code sys_cond_wait(ppu_thread& ppu, u32 cond_id, u64 timeout) { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(cond->mutex->mutex); // Try to cancel the waiting @@ -281,8 +278,6 @@ error_code sys_cond_wait(ppu_thread& ppu, u32 cond_id, u64 timeout) { break; } - - cond->mutex->sleep(ppu); } timeout = 0; diff --git a/rpcs3/Emu/Cell/lv2/sys_event.cpp b/rpcs3/Emu/Cell/lv2/sys_event.cpp index e6a75e6695..afc7fda33d 100644 --- a/rpcs3/Emu/Cell/lv2/sys_event.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_event.cpp @@ -292,9 +292,6 @@ error_code sys_event_queue_receive(ppu_thread& ppu, u32 equeue_id, vm::ptrmutex); if (!queue->unqueue(queue->sq, &ppu)) diff --git a/rpcs3/Emu/Cell/lv2/sys_event_flag.cpp b/rpcs3/Emu/Cell/lv2/sys_event_flag.cpp index f36e2ebd12..ec6232fb81 100644 --- a/rpcs3/Emu/Cell/lv2/sys_event_flag.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_event_flag.cpp @@ -171,9 +171,6 @@ error_code sys_event_flag_wait(ppu_thread& ppu, u32 id, u64 bitptn, u32 mode, vm { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(flag->mutex); if (!flag->unqueue(flag->sq, &ppu)) diff --git a/rpcs3/Emu/Cell/lv2/sys_lwcond.cpp b/rpcs3/Emu/Cell/lv2/sys_lwcond.cpp index 1692646367..03c7151978 100644 --- a/rpcs3/Emu/Cell/lv2/sys_lwcond.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_lwcond.cpp @@ -325,9 +325,6 @@ error_code _sys_lwcond_queue_wait(ppu_thread& ppu, u32 lwcond_id, u32 lwmutex_id { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(cond->mutex); if (!cond->unqueue(cond->sq, &ppu)) diff --git a/rpcs3/Emu/Cell/lv2/sys_lwmutex.cpp b/rpcs3/Emu/Cell/lv2/sys_lwmutex.cpp index 85606f9a5a..d44fc9c970 100644 --- a/rpcs3/Emu/Cell/lv2/sys_lwmutex.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_lwmutex.cpp @@ -130,9 +130,6 @@ error_code _sys_lwmutex_lock(ppu_thread& ppu, u32 lwmutex_id, u64 timeout) { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(mutex->mutex); if (!mutex->unqueue(mutex->sq, &ppu)) diff --git a/rpcs3/Emu/Cell/lv2/sys_mutex.cpp b/rpcs3/Emu/Cell/lv2/sys_mutex.cpp index 2e075952fa..e83bbc7a6b 100644 --- a/rpcs3/Emu/Cell/lv2/sys_mutex.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_mutex.cpp @@ -165,9 +165,6 @@ error_code sys_mutex_lock(ppu_thread& ppu, u32 mutex_id, u64 timeout) { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(mutex->mutex); if (!mutex->unqueue(mutex->sq, &ppu)) diff --git a/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp b/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp index 6e07435cbd..7b2522a024 100644 --- a/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_rwlock.cpp @@ -140,9 +140,6 @@ error_code sys_rwlock_rlock(ppu_thread& ppu, u32 rw_lock_id, u64 timeout) { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(rwlock->mutex); if (!rwlock->unqueue(rwlock->rq, &ppu)) @@ -340,9 +337,6 @@ error_code sys_rwlock_wlock(ppu_thread& ppu, u32 rw_lock_id, u64 timeout) { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(rwlock->mutex); if (!rwlock->unqueue(rwlock->wq, &ppu)) diff --git a/rpcs3/Emu/Cell/lv2/sys_semaphore.cpp b/rpcs3/Emu/Cell/lv2/sys_semaphore.cpp index aef6a5eb1b..7e125d4b74 100644 --- a/rpcs3/Emu/Cell/lv2/sys_semaphore.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_semaphore.cpp @@ -131,9 +131,6 @@ error_code sys_semaphore_wait(ppu_thread& ppu, u32 sem_id, u64 timeout) { if (lv2_obj::wait_timeout(timeout, &ppu)) { - // Wait for rescheduling - ppu.check_state(); - std::lock_guard lock(sem->mutex); if (!sem->unqueue(sem->sq, &ppu))