summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-10-10 08:04:14 -0400
committerGravatar FernandoS272019-10-15 11:55:20 -0400
commit1c6a11ab142d18c3444629940f183b7c1865a5e2 (patch)
tree3441b0285be95f9341852b86c383880151c38704 /src/core/hle/kernel/thread.cpp
parentKernel: Correct redundant yields to only advance time forward. (diff)
downloadyuzu-1c6a11ab142d18c3444629940f183b7c1865a5e2.tar.gz
yuzu-1c6a11ab142d18c3444629940f183b7c1865a5e2.tar.xz
yuzu-1c6a11ab142d18c3444629940f183b7c1865a5e2.zip
Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel.
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
-rw-r--r--src/core/hle/kernel/thread.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index ae62609e3..563a99bfc 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -133,6 +133,7 @@ void Thread::ResumeFromWait() {
133 133
134void Thread::CancelWait() { 134void Thread::CancelWait() {
135 ASSERT(GetStatus() == ThreadStatus::WaitSynch); 135 ASSERT(GetStatus() == ThreadStatus::WaitSynch);
136 ClearWaitObjects();
136 SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED); 137 SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED);
137 ResumeFromWait(); 138 ResumeFromWait();
138} 139}