From 925671071cd3f84120d9b2367142d19f76b5107e Mon Sep 17 00:00:00 2001
From: bunnei <bunneidev@gmail.com>
Date: Mon, 1 Mar 2021 21:42:06 -0800
Subject: core: Shutdown: Move kernel cleanup to later in shutdown.

- Fixes a shutdown crash due to a race condition with GPU still accessing memory.
---
 src/core/core.cpp | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

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

diff --git a/src/core/core.cpp b/src/core/core.cpp
index de6305e2a4..305f56ff1c 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -299,28 +299,17 @@ struct System::Impl {
             gpu_core->WaitIdle();
         }
 
-        // Shutdown emulation session
         services.reset();
         service_manager.reset();
         cheat_engine.reset();
         telemetry_session.reset();
-
-        // Close all CPU/threading state
         cpu_manager.Shutdown();
-
-        // Release the Time Manager's resources
         time_manager.Shutdown();
-
-        // Shutdown kernel and core timing
         core_timing.Shutdown();
-        kernel.Shutdown();
-
-        // Close app loader
         app_loader.reset();
         gpu_core.reset();
         perf_stats.reset();
-
-        // Clear all applets
+        kernel.Shutdown();
         applet_manager.ClearAll();
 
         LOG_DEBUG(Core, "Shutdown OK");
-- 
cgit v1.2.3-70-g09d2