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 ee7531f2d..ab0e82ac2 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -120,8 +120,11 @@ void Thread::ResumeFromWait() {
120} 120}
121 121
122void Thread::CancelWait() { 122void Thread::CancelWait() {
123 ASSERT(GetStatus() == ThreadStatus::WaitSynch); 123 if (GetSchedulingStatus() != ThreadSchedStatus::Paused) {
124 ClearWaitObjects(); 124 is_sync_cancelled = true;
125 return;
126 }
127 is_sync_cancelled = false;
125 SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED); 128 SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED);
126 ResumeFromWait(); 129 ResumeFromWait();
127} 130}