From dc580582034fb5937aa53176fdaa4bd0fc4acce8 Mon Sep 17 00:00:00 2001
From: Fernando Sahmkow <fsahmkow27@gmail.com>
Date: Tue, 25 Feb 2020 11:12:46 -0400
Subject: General: Setup yuzu threads' microprofile, naming and registry.

---
 src/core/cpu_manager.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

(limited to 'src/core/cpu_manager.cpp')

diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp
index ff2fe8eadc..9b93371318 100644
--- a/src/core/cpu_manager.cpp
+++ b/src/core/cpu_manager.cpp
@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "common/fiber.h"
+#include "common/microprofile.h"
 #include "common/thread.h"
 #include "core/arm/exclusive_monitor.h"
 #include "core/core.h"
@@ -36,6 +37,7 @@ void CpuManager::Shutdown() {
     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();
     }
 }
 
@@ -80,7 +82,7 @@ void CpuManager::RunGuestThread() {
         auto& physical_core = kernel.CurrentPhysicalCore();
         if (!physical_core.IsInterrupted()) {
             physical_core.Idle();
-            //physical_core.Run();
+            // physical_core.Run();
         }
         auto& scheduler = physical_core.Scheduler();
         scheduler.TryDoContextSwitch();
@@ -159,6 +161,7 @@ void CpuManager::RunThread(std::size_t core) {
     /// Initialization
     system.RegisterCoreThread(core);
     std::string name = "yuzu:CoreHostThread_" + std::to_string(core);
+    MicroProfileOnThreadCreate(name.c_str());
     Common::SetCurrentThreadName(name.c_str());
     auto& data = core_data[core];
     data.enter_barrier = std::make_unique<Common::Event>();
-- 
cgit v1.2.3-70-g09d2