summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-11-21 11:03:37 -0400
committerGravatar FernandoS272019-11-21 11:13:29 -0400
commit46bb6099814a6ff404d337164ced016ec04ea7b9 (patch)
tree2ea68335bff35e36fa0999cef430ca022ecaae43 /src/core/hle/kernel/kernel.cpp
parentKernel: Correct SignalProcessWideKey (diff)
downloadyuzu-46bb6099814a6ff404d337164ced016ec04ea7b9.tar.gz
yuzu-46bb6099814a6ff404d337164ced016ec04ea7b9.tar.xz
yuzu-46bb6099814a6ff404d337164ced016ec04ea7b9.zip
Kernel: Optimize condition variable threads management.
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
-rw-r--r--src/core/hle/kernel/kernel.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index cdf7944f7..9d3b309b3 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -64,10 +64,10 @@ static void ThreadWakeupCallback(u64 thread_handle, [[maybe_unused]] s64 cycles_
64 } else if (thread->GetStatus() == ThreadStatus::WaitMutex || 64 } else if (thread->GetStatus() == ThreadStatus::WaitMutex ||
65 thread->GetStatus() == ThreadStatus::WaitCondVar) { 65 thread->GetStatus() == ThreadStatus::WaitCondVar) {
66 thread->SetMutexWaitAddress(0); 66 thread->SetMutexWaitAddress(0);
67 thread->SetCondVarWaitAddress(0);
68 thread->SetWaitHandle(0); 67 thread->SetWaitHandle(0);
69 if (thread->GetStatus() == ThreadStatus::WaitCondVar) { 68 if (thread->GetStatus() == ThreadStatus::WaitCondVar) {
70 thread->GetOwnerProcess()->RemoveConditionVariableThread(thread); 69 thread->GetOwnerProcess()->RemoveConditionVariableThread(thread);
70 thread->SetCondVarWaitAddress(0);
71 } 71 }
72 72
73 auto* const lock_owner = thread->GetLockOwner(); 73 auto* const lock_owner = thread->GetLockOwner();