OpenTTD Source
20241111-master-gce64d5f5d9
|
Unix crash log handler. More...
#include "../../stdafx.h"
#include "../../crashlog.h"
#include "../../fileio_func.h"
#include "../../string_func.h"
#include "../../gamelog.h"
#include "../../saveload/saveload.h"
#include <setjmp.h>
#include <signal.h>
#include <sys/utsname.h>
#include <unistd.h>
#include "../../safeguards.h"
Go to the source code of this file.
Data Structures | |
class | CrashLogUnix |
Unix implementation for the crash logger. More... | |
Functions | |
static sigset_t | SetSignals (void(*handler)(int)) |
Set a signal handler for all signals we want to capture. More... | |
static void CDECL | HandleInternalCrash ([[maybe_unused]] int signum) |
Entry point for a crash that happened during the handling of a crash. More... | |
static void CDECL | HandleCrash (int signum) |
Entry point for the crash handler. More... | |
Variables | |
static constexpr int | _signals_to_handle [] = { SIGSEGV, SIGABRT, SIGFPE, SIGBUS, SIGILL, SIGQUIT } |
The signals we want our crash handler to handle. | |
Unix crash log handler.
Definition in file crashlog_unix.cpp.
|
static |
Entry point for the crash handler.
signum | the signal that caused us to crash. |
Definition at line 184 of file crashlog_unix.cpp.
References _gamelog, CrashLog::AfterCrashLogCleanup(), CrashLogUnix::current, HandleInternalCrash(), CrashLog::MakeCrashLog(), SaveloadCrashWithMissingNewGRFs(), SetSignals(), and Gamelog::TestEmergency().
|
static |
Entry point for a crash that happened during the handling of a crash.
signum | the signal that caused us to crash. |
Definition at line 169 of file crashlog_unix.cpp.
References CrashLogUnix::current.
Referenced by HandleCrash().
|
static |
Set a signal handler for all signals we want to capture.
handler | The handler to use. |
Definition at line 141 of file crashlog_unix.cpp.
References _signals_to_handle.
Referenced by HandleCrash().