diff options
author | bunnei <bunneidev@gmail.com> | 2021-08-07 12:33:07 -0700 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-08-07 12:33:07 -0700 |
commit | 9e3d1d865c4baf2cfc3bf937136eb7625091603f (patch) | |
tree | fc0285bc44e76996e7a94cf2a76a782f87c27789 /src/core/cpu_manager.cpp | |
parent | 99bc49e76e85fbf44142d8f925e02bc27c7fa6da (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 e2c4f0e07a..35c1a6cbdf 100644 --- a/src/core/cpu_manager.cpp +++ b/src/core/cpu_manager.cpp @@ -33,7 +33,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); } } @@ -348,13 +348,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(); |