Update POSIXProcessControl.cpp

This commit is contained in:
marauder2k7 2023-07-24 21:33:23 +01:00
parent 2ef93acac6
commit a3cfc7f008

View file

@ -33,6 +33,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <execinfo.h>
#include "console/engineAPI.h"
#include "core/util/journal/process.h"
#ifndef TORQUE_DEDICATED
@ -59,21 +60,15 @@ static void CheckExitCode(S64 exitCode)
//-----------------------------------------------------------------------------
static void SignalHandler(int sigtype)
{
if (sigtype == SIGSEGV || sigtype == SIGTRAP)
{
signal(SIGSEGV, SIG_DFL);
signal(SIGTRAP, SIG_DFL);
// restore the signal handling to default so that we don't get into
// a crash loop with ImmediateShutdown
ImmediateShutdown(-sigtype, sigtype);
}
else
{
signal(sigtype, SIG_DFL);
dPrintf("Unknown signal caught by SignalHandler: %d\n", sigtype);
// exit to be safe
ImmediateShutdown(1);
}
void* array[10];
size_t size;
size = backtrace(array, 10);
dPrintf("Error: signal: % d\n", sigtype);
backtrace_symbols_fd(array, size, STDERR_FILENO);
// exit to be safe
ImmediateShutdown(1);
}
//-----------------------------------------------------------------------------