hle: kernel: k_scheduler: Use atomics for current_thread, etc.

This commit is contained in:
bunnei
2021-01-21 11:26:00 -08:00
parent f6b10fad63
commit 37f74d8741
2 changed files with 28 additions and 26 deletions

View File

@ -54,7 +54,7 @@ public:
/// Returns true if the scheduler is idle
[[nodiscard]] bool IsIdle() const {
return GetCurrentThread() == idle_thread;
return GetCurrentThread() == idle_thread.get();
}
/// Gets the timestamp for the last context switch in ticks.
@ -174,8 +174,9 @@ private:
void SwitchToCurrent();
KThread* prev_thread{};
KThread* current_thread{};
KThread* idle_thread{};
std::atomic<KThread*> current_thread{};
std::shared_ptr<KThread> idle_thread;
std::shared_ptr<Common::Fiber> switch_fiber{};