summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/k_scheduler_lock.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/core/hle/kernel/k_scheduler_lock.h b/src/core/hle/kernel/k_scheduler_lock.h
index 39a02af2a..2d675b39e 100644
--- a/src/core/hle/kernel/k_scheduler_lock.h
+++ b/src/core/hle/kernel/k_scheduler_lock.h
@@ -17,16 +17,8 @@ class KernelCore;
17 17
18template <typename SchedulerType> 18template <typename SchedulerType>
19class KAbstractSchedulerLock { 19class KAbstractSchedulerLock {
20private:
21 KernelCore& kernel;
22 Common::SpinLock spin_lock;
23 s32 lock_count;
24 Core::EmuThreadHandle owner_thread;
25
26public: 20public:
27 KAbstractSchedulerLock(KernelCore& kernel) 21 explicit KAbstractSchedulerLock(KernelCore& kernel) : kernel{kernel} {}
28 : kernel{kernel}, spin_lock(), lock_count(0),
29 owner_thread(Core::EmuThreadHandle::InvalidHandle()) {}
30 22
31 bool IsLockedByCurrentThread() const { 23 bool IsLockedByCurrentThread() const {
32 return this->owner_thread == kernel.GetCurrentEmuThreadID(); 24 return this->owner_thread == kernel.GetCurrentEmuThreadID();
@@ -71,6 +63,12 @@ public:
71 SchedulerType::EnableScheduling(kernel, cores_needing_scheduling, leaving_thread); 63 SchedulerType::EnableScheduling(kernel, cores_needing_scheduling, leaving_thread);
72 } 64 }
73 } 65 }
66
67private:
68 KernelCore& kernel;
69 Common::SpinLock spin_lock{};
70 s32 lock_count{};
71 Core::EmuThreadHandle owner_thread{Core::EmuThreadHandle::InvalidHandle()};
74}; 72};
75 73
76} // namespace Kernel 74} // namespace Kernel