Просмотр исходного кода

CPU_Manager: Correct stopping on SingleCore.

Fernando Sahmkow 6 лет назад
Родитель
Сommit
1a5f2e290b
1 измененных файлов с 8 добавлено и 3 удалено
  1. 8 3
      src/core/cpu_manager.cpp

+ 8 - 3
src/core/cpu_manager.cpp

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