mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-27 21:01:04 +00:00
Fix signal handler setup error reporting
This commit is contained in:
parent
b83f41e089
commit
a0d6dc30cb
1 changed files with 23 additions and 9 deletions
|
@ -3050,6 +3050,26 @@ void I_Sleep(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NEWSIGNALHANDLER
|
#ifdef NEWSIGNALHANDLER
|
||||||
|
static void newsignalhandler_Warn(const char *pr)
|
||||||
|
{
|
||||||
|
char text[128];
|
||||||
|
|
||||||
|
snprintf(text, sizeof text,
|
||||||
|
"Error while setting up signal reporting: %s: %s",
|
||||||
|
pr,
|
||||||
|
strerror(errno)
|
||||||
|
);
|
||||||
|
|
||||||
|
I_OutputMsg("%s\n", text);
|
||||||
|
|
||||||
|
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR,
|
||||||
|
"Startup error",
|
||||||
|
text, NULL);
|
||||||
|
|
||||||
|
I_ShutdownConsole();
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
static void I_Fork(void)
|
static void I_Fork(void)
|
||||||
{
|
{
|
||||||
int child;
|
int child;
|
||||||
|
@ -3061,10 +3081,7 @@ static void I_Fork(void)
|
||||||
switch (child)
|
switch (child)
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
I_Error(
|
newsignalhandler_Warn("fork()");
|
||||||
"Error setting up signal reporting: fork(): %s\n",
|
|
||||||
strerror(errno)
|
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
break;
|
break;
|
||||||
|
@ -3072,10 +3089,7 @@ static void I_Fork(void)
|
||||||
if (wait(&status) == -1)
|
if (wait(&status) == -1)
|
||||||
{
|
{
|
||||||
kill(child, SIGKILL);
|
kill(child, SIGKILL);
|
||||||
I_Error(
|
newsignalhandler_Warn("wait()");
|
||||||
"Error setting up signal reporting: fork(): %s\n",
|
|
||||||
strerror(errno)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3094,7 +3108,7 @@ static void I_Fork(void)
|
||||||
status = WEXITSTATUS (status);
|
status = WEXITSTATUS (status);
|
||||||
}
|
}
|
||||||
|
|
||||||
I_ShutdownSystem();
|
I_ShutdownConsole();
|
||||||
exit(status);
|
exit(status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue