summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/mutex.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-03-08 21:20:05 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 17:35:40 +0200
commit9e9c287f8b24ce9a932490cc35b3d0b5f58bb7a3 (patch)
treee977aa6c71954d9a147a20c190a425df23851085 /src/core/hle/kernel/mutex.cpp
parentKernel: Fixes, corrections and asserts to scheduler and different svcs. (diff)
downloadyuzu-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.cpp3
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)