mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-14 13:51:31 +00:00
Kill child when wait fails, so I_Error exits both
This commit is contained in:
parent
c9830e5ab1
commit
a64dbe1016
1 changed files with 6 additions and 1 deletions
|
@ -3052,9 +3052,13 @@ void I_Sleep(void)
|
||||||
#ifdef NEWSIGNALHANDLER
|
#ifdef NEWSIGNALHANDLER
|
||||||
static void I_Fork(void)
|
static void I_Fork(void)
|
||||||
{
|
{
|
||||||
|
int child;
|
||||||
int status;
|
int status;
|
||||||
int signum;
|
int signum;
|
||||||
switch (fork())
|
|
||||||
|
child = fork();
|
||||||
|
|
||||||
|
switch (child)
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
I_Error(
|
I_Error(
|
||||||
|
@ -3067,6 +3071,7 @@ static void I_Fork(void)
|
||||||
default:
|
default:
|
||||||
if (wait(&status) == -1)
|
if (wait(&status) == -1)
|
||||||
{
|
{
|
||||||
|
kill(child, SIGKILL);
|
||||||
I_Error(
|
I_Error(
|
||||||
"Error setting up signal reporting: fork(): %s\n",
|
"Error setting up signal reporting: fork(): %s\n",
|
||||||
strerror(errno)
|
strerror(errno)
|
||||||
|
|
Loading…
Reference in a new issue