core: reset kernel after service manager in Shutdown

Services can hold kernel objects and do cleanup upon destruction, so we need to keep the kernel alive longer. The new order approximnately resembles the reverse construction order. I will revisit the ordering issue and make it less error-prone after global state cleanup
This commit is contained in:
Weiyi Wang 2019-03-12 19:06:20 -04:00
parent acaca4188e
commit 54d2f16c22

View File

@ -291,7 +291,6 @@ void System::Shutdown() {
// Shutdown emulation session // Shutdown emulation session
GDBStub::Shutdown(); GDBStub::Shutdown();
VideoCore::Shutdown(); VideoCore::Shutdown();
kernel.reset();
HW::Shutdown(); HW::Shutdown();
telemetry_session.reset(); telemetry_session.reset();
rpc_server.reset(); rpc_server.reset();
@ -299,6 +298,7 @@ void System::Shutdown() {
service_manager.reset(); service_manager.reset();
dsp_core.reset(); dsp_core.reset();
cpu_core.reset(); cpu_core.reset();
kernel.reset();
timing.reset(); timing.reset();
app_loader.reset(); app_loader.reset();