void __KernelShutdown() { if (!kernelRunning) { ERROR_LOG(HLE, "Can't shut down kernel - not running"); return; } kernelObjects.List(); INFO_LOG(HLE, "Shutting down kernel - %i kernel objects alive", kernelObjects.GetCount()); kernelObjects.Clear(); __MpegShutdown(); __PsmfShutdown(); __PPGeShutdown(); __CtrlShutdown(); __UtilityShutdown(); __GeShutdown(); __SasShutdown(); __DisplayShutdown(); __AudioShutdown(); __IoShutdown(); __KernelMutexShutdown(); __KernelThreadingShutdown(); __KernelMemoryShutdown(); __InterruptsShutdown(); CoreTiming::ClearPendingEvents(); CoreTiming::UnregisterAllEvents(); kernelRunning = false; }
void __KernelShutdown() { if (!kernelRunning) { ERROR_LOG(SCEKERNEL, "Can't shut down kernel - not running"); return; } kernelObjects.List(); INFO_LOG(SCEKERNEL, "Shutting down kernel - %i kernel objects alive", kernelObjects.GetCount()); hleCurrentThreadName = NULL; kernelObjects.Clear(); __AudioCodecShutdown(); __VideoPmpShutdown(); __AACShutdown(); __NetAdhocShutdown(); __NetShutdown(); __FontShutdown(); __Mp3Shutdown(); __MpegShutdown(); __PsmfShutdown(); __PPGeShutdown(); __CtrlShutdown(); __UtilityShutdown(); __GeShutdown(); __SasShutdown(); __DisplayShutdown(); __AtracShutdown(); __AudioShutdown(); __IoShutdown(); __KernelMutexShutdown(); __KernelThreadingShutdown(); __KernelMemoryShutdown(); __InterruptsShutdown(); __CheatShutdown(); __KernelModuleShutdown(); CoreTiming::ClearPendingEvents(); CoreTiming::UnregisterAllEvents(); Reporting::Shutdown(); SaveState::Shutdown(); kernelRunning = false; }