Quellcode durchsuchen

CPU_Manager: Correct stopping on SingleCore.

Fernando Sahmkow vor 6 Jahren
Ursprung
Commit
1a5f2e290b
1 geänderte Dateien mit 8 neuen und 3 gelöschten Zeilen
  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() {
     running_mode = 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();
     }
 }