aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_scheduler.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-08-06 22:58:46 -0700
committerbunnei <bunneidev@gmail.com>2021-08-07 12:18:47 -0700
commit43fcb97ef31c5caba3c029982b24c9db6f30566e (patch)
treeaae3ac2f04eb73f67dd09f6bd79b7c6898c39679 /src/core/hle/kernel/k_scheduler.cpp
parent951143ba57ffd64e9437cc864d6fc3d358de81e2 (diff)
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
Diffstat (limited to 'src/core/hle/kernel/k_scheduler.cpp')
-rw-r--r--src/core/hle/kernel/k_scheduler.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_scheduler.cpp b/src/core/hle/kernel/k_scheduler.cpp
index 6a7d80d032..4bae69f716 100644
--- a/src/core/hle/kernel/k_scheduler.cpp
+++ b/src/core/hle/kernel/k_scheduler.cpp
@@ -617,13 +617,17 @@ KScheduler::KScheduler(Core::System& system_, s32 core_id_) : system{system_}, c
state.highest_priority_thread = nullptr;
}
-KScheduler::~KScheduler() {
+void KScheduler::Finalize() {
if (idle_thread) {
idle_thread->Close();
idle_thread = nullptr;
}
}
+KScheduler::~KScheduler() {
+ ASSERT(!idle_thread);
+}
+
KThread* KScheduler::GetCurrentThread() const {
if (auto result = current_thread.load(); result) {
return result;