Skip to content

Commit

Permalink
assert: Use TerminateProcess() on Windows, vs ExitProcess (thanks, Ja…
Browse files Browse the repository at this point in the history
…ck!).

"What I have done is use TerminateProcess rather than ExitProcess.
ExitProcess will cause Microsoft's leak detection to continue, TerminateProcess
won't. It is also technically wrong to use ExitProcess in the case of aborting
the application.

Jack Powell
Twitter @jack9267"
  • Loading branch information
icculus committed Feb 28, 2018
1 parent 99683f7 commit 8536130
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/SDL_assert.c
Expand Up @@ -123,7 +123,11 @@ static void SDL_GenerateAssertionReport(void)
static SDL_NORETURN void SDL_ExitProcess(int exitcode)
{
#ifdef __WIN32__
ExitProcess(exitcode);
/* "if you do not know the state of all threads in your process, it is
better to call TerminateProcess than ExitProcess"
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682658(v=vs.85).aspx */
TerminateProcess(GetCurrentProcess(), exitcode);

#elif defined(__EMSCRIPTEN__)
emscripten_cancel_main_loop(); /* this should "kill" the app. */
emscripten_force_exit(exitcode); /* this should "kill" the app. */
Expand Down

0 comments on commit 8536130

Please sign in to comment.