General: Fix Stop function

This commit is contained in:
Fernando Sahmkow 2020-03-11 20:44:53 -04:00
parent f370de84b1
commit e6f8bde74b
4 changed files with 25 additions and 5 deletions

View file

@ -119,6 +119,7 @@ struct KernelCore::Impl {
void Initialize(KernelCore& kernel) {
Shutdown();
RegisterHostThread();
InitializePhysicalCores();
InitializeSystemResourceLimit(kernel);
@ -135,6 +136,19 @@ struct KernelCore::Impl {
next_user_process_id = Process::ProcessIDMin;
next_thread_id = 1;
for (std::size_t i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) {
if (suspend_threads[i]) {
suspend_threads[i].reset();
}
}
for (std::size_t i = 0; i < cores.size(); i++) {
cores[i].Shutdown();
}
cores.clear();
registered_core_threads.reset();
process_list.clear();
current_process = nullptr;
@ -154,6 +168,7 @@ struct KernelCore::Impl {
cores.clear();
exclusive_monitor.reset();
host_thread_ids.clear();
}
void InitializePhysicalCores() {