![]() |
ATLAS Offline Software
|
#include "CxxUtils/SealCommon.h"#include "CxxUtils/SealSignal.h"#include "CxxUtils/SealDebug.h"#include "CxxUtils/SealSharedLib.h"#include <cassert>#include <cstring>#include <cerrno>#include <cstdio>#include <cstdlib>#include <sys/stat.h>#include <unistd.h>Go to the source code of this file.
Namespaces | |
| namespace | Athena |
| Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc.h and will be non-nullptr in case the GaudiSvc/AthenaKernel shared libraries have been loaded. | |
Typedefs | |
| typedef void(* | Athena::DummyHandlerType) (int) |
Dummy handler type for standard signal() function. | |
Functions | |
| static pid_t | ProcessInfo__pid (void) |
| Get the process id. | |
| static pid_t | ProcessInfo__ppid (void) |
| Get the parent process id. | |
| static void | Athena::SignalDumpLibs (const SharedLibrary::LibraryInfo &info, IOFD fd) |
| Internal #Signal::fataldump() dumper to produce the list of currently loaded shared libraries. | |
| void Signal::handleQuit | Athena::ATLAS_NOT_THREAD_SAFE (QuitHook hook) |
| void Signal::handleFatal | Athena::ATLAS_NOT_THREAD_SAFE (const char *applicationName, IOFD fd, FatalHook hook, FatalReturn mainreturn, unsigned options) |
| Install default handler for fatal signals. | |
| void Signal::quit | Athena::ATLAS_NOT_THREAD_SAFE (int sig, siginfo_t *info, void *x) |
| The quit signal handler. | |
| bool Signal::fatalDump | Athena::ATLAS_NOT_THREAD_SAFE (int sig, siginfo_t *info, void *extra, IOFD fd, unsigned options) |
| StatusCode ROOTMessageFilterSvc::initialize | Athena::ATLAS_NOT_THREAD_SAFE (void) |
| Return the file descriptor #fataldump() uses for output. | |
| void CxxUtils_installFatalHandler | ATLAS_NOT_THREAD_SAFE () |
| Install fatal handler with default options. | |
Variables | |
| static const int | SIGNAL_MESSAGE_BUFSIZE = 2048 |
| Maximum length of a signal message. | |
| static SharedLibrary::InfoHandler * | Athena::SignalDumpCallback = 0 |
| Shared library dump callback for #Signal::fataldump(). | |
| static char | Athena::buf [SIGNAL_MESSAGE_BUFSIZE] |
| Dump application state information on a fatal signal. | |
| void CxxUtils_installFatalHandler ATLAS_NOT_THREAD_SAFE | ( | void | ) |
Install fatal handler with default options.
This is meant to be easy to call from python via ctypes.
Definition at line 1639 of file SealSignal.cxx.
|
static |
Get the process id.
Definition at line 74 of file SealSignal.cxx.
|
static |
Get the parent process id.
Definition at line 85 of file SealSignal.cxx.
|
static |
Maximum length of a signal message.
Used for local format buffers for the signal number and name message in #Signal::fataldump() and the currently loaded shared library message in #SignalLibDump(). Make this long enough to fit long shared library names.
Definition at line 31 of file SealSignal.cxx.