diff options
| author | 2019-11-21 11:03:37 -0400 | |
|---|---|---|
| committer | 2019-11-21 11:13:29 -0400 | |
| commit | 46bb6099814a6ff404d337164ced016ec04ea7b9 (patch) | |
| tree | 2ea68335bff35e36fa0999cef430ca022ecaae43 /src/core/hle/kernel/kernel.cpp | |
| parent | Kernel: Correct SignalProcessWideKey (diff) | |
| download | yuzu-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.cpp | 2 |
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(); |