|
|
|
@ -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(); |
|
|
|
|