summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
-rw-r--r--src/core/hle/kernel/thread.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index 0075e4a0f..cffa7ca83 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -133,8 +133,11 @@ static void ThreadWakeupCallback(u64 thread_handle, int cycles_late) {
133 133
134 auto lock_owner = thread->lock_owner; 134 auto lock_owner = thread->lock_owner;
135 // Threads waking up by timeout from WaitProcessWideKey do not perform priority inheritance 135 // Threads waking up by timeout from WaitProcessWideKey do not perform priority inheritance
136 // and don't have a lock owner. 136 // and don't have a lock owner unless SignalProcessWideKey was called first and the thread
137 ASSERT(lock_owner == nullptr); 137 // wasn't awakened due to the mutex already being acquired.
138 if (lock_owner) {
139 lock_owner->RemoveMutexWaiter(thread);
140 }
138 } 141 }
139 142
140 if (resume) 143 if (resume)