diff options
author | bunnei <bunneidev@gmail.com> | 2021-08-07 12:33:07 -0700 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-12-06 16:39:17 -0800 |
commit | 08c63d5c75522ce6b484153302de4c6cfac674f2 (patch) | |
tree | 5aedfd853bafb5922c7e9313781bb45ca627cdad /src/core/cpu_manager.cpp | |
parent | 07690572f777c66f649110db780f556186f5fea8 (diff) |
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
Diffstat (limited to 'src/core/cpu_manager.cpp')
-rw-r--r-- | src/core/cpu_manager.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp index 45cc176dce..d9bd5b6654 100644 --- a/src/core/cpu_manager.cpp +++ b/src/core/cpu_manager.cpp @@ -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(); |