summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-03-13 19:55:04 -0400
committerGravatar FernandoS272019-03-19 20:32:47 -0400
commitacbdfdae644ad56ca94318758f57e406350586ce (patch)
tree472bd8e0001d74d59cce42ec47a5f01fe6910990 /src/core/hle/kernel/svc.cpp
parentSmall fixes to address_arbiter to better match the IDB. (diff)
downloadyuzu-acbdfdae644ad56ca94318758f57e406350586ce.tar.gz
yuzu-acbdfdae644ad56ca94318758f57e406350586ce.tar.xz
yuzu-acbdfdae644ad56ca94318758f57e406350586ce.zip
Add CondVar Thread State.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index d241b65c7..37608e27a 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -1350,7 +1350,7 @@ static ResultCode WaitProcessWideKeyAtomic(VAddr mutex_addr, VAddr condition_var
1350 current_thread->SetCondVarWaitAddress(condition_variable_addr); 1350 current_thread->SetCondVarWaitAddress(condition_variable_addr);
1351 current_thread->SetMutexWaitAddress(mutex_addr); 1351 current_thread->SetMutexWaitAddress(mutex_addr);
1352 current_thread->SetWaitHandle(thread_handle); 1352 current_thread->SetWaitHandle(thread_handle);
1353 current_thread->SetStatus(ThreadStatus::WaitMutex); 1353 current_thread->SetStatus(ThreadStatus::WaitCondVar);
1354 current_thread->InvalidateWakeupCallback(); 1354 current_thread->InvalidateWakeupCallback();
1355 1355
1356 current_thread->WakeAfterDelay(nano_seconds); 1356 current_thread->WakeAfterDelay(nano_seconds);
@@ -1456,7 +1456,7 @@ static ResultCode SignalProcessWideKey(VAddr condition_variable_addr, s32 target
1456 const auto& handle_table = Core::CurrentProcess()->GetHandleTable(); 1456 const auto& handle_table = Core::CurrentProcess()->GetHandleTable();
1457 auto owner = handle_table.Get<Thread>(owner_handle); 1457 auto owner = handle_table.Get<Thread>(owner_handle);
1458 ASSERT(owner); 1458 ASSERT(owner);
1459 ASSERT(thread->GetStatus() == ThreadStatus::WaitMutex); 1459 ASSERT(thread->GetStatus() == ThreadStatus::WaitCondVar);
1460 thread->InvalidateWakeupCallback(); 1460 thread->InvalidateWakeupCallback();
1461 1461
1462 owner->AddMutexWaiter(thread); 1462 owner->AddMutexWaiter(thread);