ATLAS Offline Software
Loading...
Searching...
No Matches
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

namespace  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.

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}
#define ATH_MSG_DEBUG(x)
Header file for AthHistogramAlgorithm.
AthROOTErrorHandlerSvc * svc
ErrorHandlerFunc_t oldHandler