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);
}
} 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;
}
// Abort if emulation was killed before the session really starts
if (!system.IsPoweredOn()) {
return;
}
// Emulation was stopped
if (stop_token.stop_requested()) {
break;
return;
}
auto current_thread = system.Kernel().CurrentScheduler()->GetCurrentThread();