diff options
author | bunnei <bunneidev@gmail.com> | 2015-06-07 23:39:37 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-06-16 22:34:39 -0400 |
commit | 71e8822d23c030311858e6fcc8480b9c52f13f39 (patch) | |
tree | 0a5f53cbcebc2c98c7c9c224cbc1a91c1b783366 /src/core/hle/kernel/mutex.cpp | |
parent | f1ff0fbf075c1ecec600a8cdf44299a0c36929d3 (diff) |
kernel: Fix svcWaitSynch to always acquire requested wait objects.
Diffstat (limited to 'src/core/hle/kernel/mutex.cpp')
-rw-r--r-- | src/core/hle/kernel/mutex.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/core/hle/kernel/mutex.cpp b/src/core/hle/kernel/mutex.cpp index 6aa73df86d..edb97d324d 100644 --- a/src/core/hle/kernel/mutex.cpp +++ b/src/core/hle/kernel/mutex.cpp @@ -23,12 +23,7 @@ static void ResumeWaitingThread(Mutex* mutex) { // Reset mutex lock thread handle, nothing is waiting mutex->lock_count = 0; mutex->holding_thread = nullptr; - - // Find the next waiting thread for the mutex... - auto next_thread = mutex->WakeupNextThread(); - if (next_thread != nullptr) { - mutex->Acquire(next_thread); - } + mutex->WakeupAllWaitingThreads(); } void ReleaseThreadMutexes(Thread* thread) { @@ -94,8 +89,6 @@ void Mutex::Release() { ResumeWaitingThread(this); } } - - HLE::Reschedule(__func__); } } // namespace |