ATLAS Offline Software
Namespaces | Functions | Variables
AthROOTErrorHandlerSvc.cxx File Reference
#include "AthROOTErrorHandlerSvc.h"
#include "TROOT.h"
Include dependency graph for AthROOTErrorHandlerSvc.cxx:

Go to the source code of this file.

Namespaces

 Handler
 AthROOTErrorHandlerSvc: Replaces ROOT's standard error handler in order to detect Problematic ROOT issues such as stale file handles and read failures.
 

Functions

void ErrorHandler Handler::ATLAS_NOT_THREAD_SAFE (Int_t level, Bool_t abort, const char *location, const char *message)
 
StatusCode AthROOTErrorHandlerSvc::initialize ATLAS_NOT_THREAD_SAFE ()
 Install fatal handler with default options. More...
 

Variables

AthROOTErrorHandlerSvcHandler::svc
 
ErrorHandlerFunc_t Handler::oldHandler
 

Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

StatusCode AthROOTErrorHandlerSvc::initialize ATLAS_NOT_THREAD_SAFE ( )

Install fatal handler with default options.

This is meant to be easy to call from python via ctypes.

Definition at line 44 of file AthROOTErrorHandlerSvc.cxx.

44  {
45 
46  ATH_MSG_DEBUG("Replacing ROOT ErrorHandler");
47  ErrorHandlerFunc_t h = ::SetErrorHandler( Handler::ErrorHandler );
48  Handler::svc = this;
49 
50  // if statement protects against double-initialize causing infinite loop in ErrorHandler
51  if (h != Handler::ErrorHandler) {
53  }
54  return StatusCode::SUCCESS;
55 }
Handler::oldHandler
ErrorHandlerFunc_t oldHandler
Definition: AthROOTErrorHandlerSvc.cxx:11
extractSporadic.h
list h
Definition: extractSporadic.py:97
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
h