summaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cpu_manager.cpp')
-rw-r--r--src/core/cpu_manager.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp
index e2c4f0e07..35c1a6cbd 100644
--- a/src/core/cpu_manager.cpp
+++ b/src/core/cpu_manager.cpp
@@ -33,7 +33,7 @@ void CpuManager::Initialize() {
33 core_data[core].host_thread = std::jthread(ThreadStart, std::ref(*this), core); 33 core_data[core].host_thread = std::jthread(ThreadStart, std::ref(*this), core);
34 } 34 }
35 } else { 35 } else {
36 core_data[0].host_thread = std::jthread(ThreadStart, std::ref(*this), 0); 36 core_data[0].host_thread = std::jthread(ThreadStart, std::ref(*this), -1);
37 } 37 }
38} 38}
39 39
@@ -348,13 +348,9 @@ void CpuManager::RunThread(std::stop_token stop_token, std::size_t core) {
348 sc_sync_first_use = false; 348 sc_sync_first_use = false;
349 } 349 }
350 350
351 // Abort if emulation was killed before the session really starts 351 // Emulation was stopped
352 if (!system.IsPoweredOn()) {
353 return;
354 }
355
356 if (stop_token.stop_requested()) { 352 if (stop_token.stop_requested()) {
357 break; 353 return;
358 } 354 }
359 355
360 auto current_thread = system.Kernel().CurrentScheduler()->GetCurrentThread(); 356 auto current_thread = system.Kernel().CurrentScheduler()->GetCurrentThread();