summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/synchronization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/synchronization.cpp')
-rw-r--r--src/core/hle/kernel/synchronization.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/kernel/synchronization.cpp b/src/core/hle/kernel/synchronization.cpp
index 275bf11cc..851b702a5 100644
--- a/src/core/hle/kernel/synchronization.cpp
+++ b/src/core/hle/kernel/synchronization.cpp
@@ -23,8 +23,10 @@ void Synchronization::SignalObject(SynchronizationObject& obj) const {
23 if (obj.IsSignaled()) { 23 if (obj.IsSignaled()) {
24 for (auto thread : obj.GetWaitingThreads()) { 24 for (auto thread : obj.GetWaitingThreads()) {
25 if (thread->GetSchedulingStatus() == ThreadSchedStatus::Paused) { 25 if (thread->GetSchedulingStatus() == ThreadSchedStatus::Paused) {
26 ASSERT(thread->GetStatus() == ThreadStatus::WaitSynch); 26 if (thread->GetStatus() != ThreadStatus::WaitHLEEvent) {
27 ASSERT(thread->IsWaitingSync()); 27 ASSERT(thread->GetStatus() == ThreadStatus::WaitSynch);
28 ASSERT(thread->IsWaitingSync());
29 }
28 thread->SetSynchronizationResults(&obj, RESULT_SUCCESS); 30 thread->SetSynchronizationResults(&obj, RESULT_SUCCESS);
29 thread->ResumeFromWait(); 31 thread->ResumeFromWait();
30 } 32 }