Recursive quitting does not work
In src/sdl/i_system.c
:
void I_Quit(void)
{
static SDL_bool quiting = SDL_FALSE;
/* prevent recursive I_Quit() */
if (quiting) goto death;
SDLforceUngrabMouse();
quiting = SDL_FALSE;
It seems pretty obvious to me that the last line was intended to set quiting
to true...