diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-03-08 21:20:05 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-27 17:35:40 +0200 |
commit | 9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3 (patch) | |
tree | e977aa6c71954d9a147a20c190a425df23851085 /src/core/hle/kernel/mutex.cpp | |
parent | Kernel: Fixes, corrections and asserts to scheduler and different svcs. (diff) | |
download | yuzu-9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3.tar yuzu-9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3.tar.gz yuzu-9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3.tar.bz2 yuzu-9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3.tar.lz yuzu-9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3.tar.xz yuzu-9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3.tar.zst yuzu-9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3.zip |
Diffstat (limited to 'src/core/hle/kernel/mutex.cpp')
-rw-r--r-- | src/core/hle/kernel/mutex.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/core/hle/kernel/mutex.cpp b/src/core/hle/kernel/mutex.cpp index 5a96d5e90..32dc1ffae 100644 --- a/src/core/hle/kernel/mutex.cpp +++ b/src/core/hle/kernel/mutex.cpp @@ -35,8 +35,6 @@ static std::pair<std::shared_ptr<Thread>, u32> GetHighestPriorityMutexWaitingThr if (thread->GetMutexWaitAddress() != mutex_addr) continue; - ASSERT(thread->GetStatus() == ThreadStatus::WaitMutex); - ++num_waiters; if (highest_priority_thread == nullptr || thread->GetPriority() < highest_priority_thread->GetPriority()) { @@ -50,6 +48,7 @@ static std::pair<std::shared_ptr<Thread>, u32> GetHighestPriorityMutexWaitingThr /// Update the mutex owner field of all threads waiting on the mutex to point to the new owner. static void TransferMutexOwnership(VAddr mutex_addr, std::shared_ptr<Thread> current_thread, std::shared_ptr<Thread> new_owner) { + current_thread->RemoveMutexWaiter(new_owner); const auto threads = current_thread->GetMutexWaitingThreads(); for (const auto& thread : threads) { if (thread->GetMutexWaitAddress() != mutex_addr) |