summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2020-12-03 22:26:42 -0800
committerGravatar bunnei2020-12-06 00:03:24 -0800
commitccce6cb3be062fc7ae162bed32202538ebc2e3d9 (patch)
tree206612bfc3718371d2355c8e3447aba288b1828f /src/core/hle/kernel/svc.cpp
parenthle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler. (diff)
downloadyuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar.gz
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar.xz
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.zip
hle: kernel: Migrate to KScopedSchedulerLock.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 2760a307c..30d60aeb6 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -345,7 +345,7 @@ static ResultCode SendSyncRequest(Core::System& system, Handle handle) {
345 345
346 auto thread = kernel.CurrentScheduler()->GetCurrentThread(); 346 auto thread = kernel.CurrentScheduler()->GetCurrentThread();
347 { 347 {
348 SchedulerLock lock(kernel); 348 KScopedSchedulerLock lock(kernel);
349 thread->InvalidateHLECallback(); 349 thread->InvalidateHLECallback();
350 thread->SetStatus(ThreadStatus::WaitIPC); 350 thread->SetStatus(ThreadStatus::WaitIPC);
351 session->SendSyncRequest(SharedFrom(thread), system.Memory(), system.CoreTiming()); 351 session->SendSyncRequest(SharedFrom(thread), system.Memory(), system.CoreTiming());
@@ -359,7 +359,7 @@ static ResultCode SendSyncRequest(Core::System& system, Handle handle) {
359 } 359 }
360 360
361 { 361 {
362 SchedulerLock lock(kernel); 362 KScopedSchedulerLock lock(kernel);
363 auto* sync_object = thread->GetHLESyncObject(); 363 auto* sync_object = thread->GetHLESyncObject();
364 sync_object->RemoveWaitingThread(SharedFrom(thread)); 364 sync_object->RemoveWaitingThread(SharedFrom(thread));
365 } 365 }
@@ -1691,7 +1691,7 @@ static ResultCode WaitProcessWideKeyAtomic(Core::System& system, VAddr mutex_add
1691 } 1691 }
1692 1692
1693 { 1693 {
1694 SchedulerLock lock(kernel); 1694 KScopedSchedulerLock lock(kernel);
1695 1695
1696 auto* owner = current_thread->GetLockOwner(); 1696 auto* owner = current_thread->GetLockOwner();
1697 if (owner != nullptr) { 1697 if (owner != nullptr) {
@@ -1724,7 +1724,7 @@ static void SignalProcessWideKey(Core::System& system, VAddr condition_variable_
1724 1724
1725 // Retrieve a list of all threads that are waiting for this condition variable. 1725 // Retrieve a list of all threads that are waiting for this condition variable.
1726 auto& kernel = system.Kernel(); 1726 auto& kernel = system.Kernel();
1727 SchedulerLock lock(kernel); 1727 KScopedSchedulerLock lock(kernel);
1728 auto* const current_process = kernel.CurrentProcess(); 1728 auto* const current_process = kernel.CurrentProcess();
1729 std::vector<std::shared_ptr<Thread>> waiting_threads = 1729 std::vector<std::shared_ptr<Thread>> waiting_threads =
1730 current_process->GetConditionVariableThreads(condition_variable_addr); 1730 current_process->GetConditionVariableThreads(condition_variable_addr);