CPU_Manager: Correct stopping on SingleCore.

This commit is contained in:
Fernando Sahmkow 2020-03-12 19:55:53 -04:00
parent db68fba4a6
commit 1a5f2e290b
1 changed files with 8 additions and 3 deletions

View File

@ -39,10 +39,15 @@ void CpuManager::Initialize() {
void CpuManager::Shutdown() { void CpuManager::Shutdown() {
running_mode = false; running_mode = false;
Pause(false); Pause(false);
if (is_multicore) {
for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) {
core_data[core].host_thread->join(); core_data[core].host_thread->join();
core_data[core].host_thread.reset(); core_data[core].host_thread.reset();
} }
} else {
core_data[0].host_thread->join();
core_data[0].host_thread.reset();
}
} }
std::function<void(void*)> CpuManager::GetGuestThreadStartFunc() { std::function<void(void*)> CpuManager::GetGuestThreadStartFunc() {