core: cpu_manager: Use invalid core_id on init and simplify shutdown.

This commit is contained in:
bunnei 2021-08-07 12:33:07 -07:00
parent 07690572f7
commit 08c63d5c75

View File

@ -32,7 +32,7 @@ void CpuManager::Initialize() {
core_data[core].host_thread = std::jthread(ThreadStart, std::ref(*this), core); core_data[core].host_thread = std::jthread(ThreadStart, std::ref(*this), core);
} }
} else { } else {
core_data[0].host_thread = std::jthread(ThreadStart, std::ref(*this), 0); core_data[0].host_thread = std::jthread(ThreadStart, std::ref(*this), -1);
} }
} }
@ -347,13 +347,9 @@ void CpuManager::RunThread(std::stop_token stop_token, std::size_t core) {
sc_sync_first_use = false; sc_sync_first_use = false;
} }
// Abort if emulation was killed before the session really starts // Emulation was stopped
if (!system.IsPoweredOn()) {
return;
}
if (stop_token.stop_requested()) { if (stop_token.stop_requested()) {
break; return;
} }
auto current_thread = system.Kernel().CurrentScheduler()->GetCurrentThread(); auto current_thread = system.Kernel().CurrentScheduler()->GetCurrentThread();