21#ifndef CXXUTILS_SEAL_DEBUG_H
22#define CXXUTILS_SEAL_DEBUG_H
32# define STDERR_HANDLE GetStdHandle (STD_ERROR_HANDLE)
34# define STDERR_HANDLE STDERR_FILENO
41# define MYWRITE(fd,data,n) do { DWORD written; WriteFile(fd,data,n,\
42 &written,0); } while (0)
44# define MYWRITE(fd,data,n) write(fd,data,n)
57 enum {
Bits =
sizeof (T) * CHAR_BIT };
Collecting a few shared bits and pieces from SEAL headers.
#define IOFD_INVALID
Invalid channel descriptor constant.
int IOFD
Type the system uses for channel descriptors.
Define macros for attributes used to control the static checker.
Utilities for debugging support.
static void setStackTraceAddr2Line ATLAS_NOT_THREAD_SAFE(const char *path)
static void coredump(int sig,...)
Drop a core dump and continue.
static void disableCoreFiles()
Disable core dump files by setting the soft limit to 0.
static IOFD stacktraceFd(IOFD fd=IOFD_INVALID)
Set and return the file descriptor for stack trace output.
static unsigned long enableCoreFiles()
Try to enable core dump files by raising the soft size limit to the hard limit.
static void stacktrace ATLAS_NOT_THREAD_SAFE(IOFD fd=IOFD_INVALID)
static std::atomic< IOFD > s_stackTraceFd
static void stacktraceLine ATLAS_NOT_THREAD_SAFE(IOFD fd, unsigned long addr)
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....