aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-10-10 08:04:14 -0400
committerFernandoS27 <fsahmkow27@gmail.com>2019-10-15 11:55:20 -0400
commit3da21e4b4f8bb03f3ccfda697104179b09695214 (patch)
tree3441b0285be95f9341852b86c383880151c38704 /src/core/hle/kernel/thread.cpp
parent248795db6e2979c9fe99c35ffa2398b395b53d0f (diff)
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 ae62609e38..563a99bfc7 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -133,6 +133,7 @@ void Thread::ResumeFromWait() {
void Thread::CancelWait() {
ASSERT(GetStatus() == ThreadStatus::WaitSynch);
+ ClearWaitObjects();
SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED);
ResumeFromWait();
}