summaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-03-12 19:55:53 -0400
committerGravatar Fernando Sahmkow2020-06-27 11:35:49 -0400
commit1a5f2e290ba831ad6d18514bcdfcd92673643e4b (patch)
treec9864cce7d381dd97d83a307e2ea0b031f3f51aa /src/core/cpu_manager.cpp
parentScheduler: Correct yielding interaction with SetThreadActivity. (diff)
downloadyuzu-1a5f2e290ba831ad6d18514bcdfcd92673643e4b.tar.gz
yuzu-1a5f2e290ba831ad6d18514bcdfcd92673643e4b.tar.xz
yuzu-1a5f2e290ba831ad6d18514bcdfcd92673643e4b.zip
CPU_Manager: Correct stopping on SingleCore.
Diffstat (limited to 'src/core/cpu_manager.cpp')
-rw-r--r--src/core/cpu_manager.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp
index 9e2e6d49f..e92b0fb37 100644
--- a/src/core/cpu_manager.cpp
+++ b/src/core/cpu_manager.cpp
@@ -39,9 +39,14 @@ void CpuManager::Initialize() {
39void CpuManager::Shutdown() { 39void CpuManager::Shutdown() {
40 running_mode = false; 40 running_mode = false;
41 Pause(false); 41 Pause(false);
42 for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) { 42 if (is_multicore) {
43 core_data[core].host_thread->join(); 43 for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) {
44 core_data[core].host_thread.reset(); 44 core_data[core].host_thread->join();
45 core_data[core].host_thread.reset();
46 }
47 } else {
48 core_data[0].host_thread->join();
49 core_data[0].host_thread.reset();
45 } 50 }
46} 51}
47 52