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 962530d2d..538e47992 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -132,8 +132,11 @@ void Thread::ResumeFromWait() {
132} 132}
133 133
134void Thread::CancelWait() { 134void Thread::CancelWait() {
135 ASSERT(GetStatus() == ThreadStatus::WaitSynch); 135 if (GetSchedulingStatus() != ThreadSchedStatus::Paused) {
136 ClearWaitObjects(); 136 is_sync_cancelled = true;
137 return;
138 }
139 is_sync_cancelled = false;
137 SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED); 140 SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED);
138 ResumeFromWait(); 141 ResumeFromWait();
139} 142}