OpenTTD Source: src/os/unix/crashlog_unix.cpp File Reference

OpenTTD Source 14.0-beta3

Data Structures | Functions | Variables
crashlog_unix.cpp File Reference
`#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.

## Detailed Description

Unix crash log handler

Definition in file crashlog_unix.cpp.

## Function Documentation

## ◆ HandleCrash()

static void CDECL HandleCrash | ( | int | signum | ) |
| static

Entry point for the crash handler.

Parameters

  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().

## ◆ HandleInternalCrash()

static void CDECL HandleInternalCrash | ( | [[maybe_unused] ] int | signum | ) |
| static

Entry point for a crash that happened during the handling of a crash.

Parameters

  signum | the signal that caused us to crash.

Definition at line 169 of file crashlog_unix.cpp.

References CrashLogUnix::current.

Referenced by HandleCrash().

## ◆ SetSignals()

static sigset_t SetSignals | ( | void(*)(int) | handler | ) |
| static

Set a signal handler for all signals we want to capture.

Parameters

  handler | The handler to use.

Returns
  sigset_t A sigset_t containing all signals we want to capture.

Definition at line 141 of file crashlog_unix.cpp.

References _signals_to_handle.

Referenced by HandleCrash().