Keep EmuThread running on game shutdown.

Especially relevant for games that call sceKernelExitGame(), like most
homebrew.  Otherwise, EmuThread actually quits and we can't continue.
This commit is contained in:
Unknown W. Brackets committed 2013-06-18 00:33:22 -07:00
1 parent 97943bfbc3
commit 926e1ebddc
2 files changed
+10 -1

No files matched your search

+9 -1
View File
@@ -67,6 +67,7 @@ void EmuThread_Start()
void EmuThread_Stop()
{
globalUIState = UISTATE_EXIT;
// DSound_UpdateSound();
Core_Stop();
Core_WaitInactive(800);
@@ -137,7 +138,14 @@ unsigned int WINAPI TheThread(void *)
Core_EnableStepping(FALSE);
Core_Run();
while (globalUIState != UISTATE_EXIT)
{
Core_Run();
// We're here again, so the game quit. Restart Core_Run() which controls the UI.
// This way they can load a new game.
Core_UpdateState(CORE_RUNNING);
}
shutdown:
_InterlockedExchange(&emuThreadReady, THREAD_SHUTDOWN);