summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_scheduler.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-12-04 07:26:42 +0100
committerbunnei <bunneidev@gmail.com>2020-12-06 09:03:24 +0100
commitccce6cb3be062fc7ae162bed32202538ebc2e3d9 (patch)
tree206612bfc3718371d2355c8e3447aba288b1828f /src/core/hle/kernel/k_scheduler.cpp
parenthle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler. (diff)
downloadyuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar.gz
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar.bz2
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar.lz
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar.xz
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.tar.zst
yuzu-ccce6cb3be062fc7ae162bed32202538ebc2e3d9.zip
Diffstat (limited to 'src/core/hle/kernel/k_scheduler.cpp')
-rw-r--r--src/core/hle/kernel/k_scheduler.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/core/hle/kernel/k_scheduler.cpp b/src/core/hle/kernel/k_scheduler.cpp
index 466147498..9645fee22 100644
--- a/src/core/hle/kernel/k_scheduler.cpp
+++ b/src/core/hle/kernel/k_scheduler.cpp
@@ -410,7 +410,7 @@ void KScheduler::YieldWithoutCoreMigration() {
/* Perform the yield. */
{
- SchedulerLock lock(kernel);
+ KScopedSchedulerLock lock(kernel);
const auto cur_state = cur_thread.scheduling_state;
if (cur_state == static_cast<u32>(ThreadSchedStatus::Runnable)) {
@@ -451,7 +451,7 @@ void KScheduler::YieldWithCoreMigration() {
/* Perform the yield. */
{
- SchedulerLock lock(kernel);
+ KScopedSchedulerLock lock(kernel);
const auto cur_state = cur_thread.scheduling_state;
if (cur_state == static_cast<u32>(ThreadSchedStatus::Runnable)) {
@@ -541,7 +541,7 @@ void KScheduler::YieldToAnyThread() {
/* Perform the yield. */
{
- SchedulerLock lock(kernel);
+ KScopedSchedulerLock lock(kernel);
const auto cur_state = cur_thread.scheduling_state;
if (cur_state == static_cast<u32>(ThreadSchedStatus::Runnable)) {
@@ -793,12 +793,9 @@ void KScheduler::Initialize() {
}
}
-SchedulerLock::SchedulerLock(KernelCore& kernel) : kernel{kernel} {
- kernel.GlobalSchedulerContext().Lock();
-}
+KScopedSchedulerLock::KScopedSchedulerLock(KernelCore& kernel)
+ : KScopedLock(kernel.GlobalSchedulerContext().SchedulerLock()) {}
-SchedulerLock::~SchedulerLock() {
- kernel.GlobalSchedulerContext().Unlock();
-}
+KScopedSchedulerLock::~KScopedSchedulerLock() = default;
} // namespace Kernel