|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include "GaudiKernel/ISvcLocator.h"
8 #include "GaudiKernel/IIncidentSvc.h"
9 #include "GaudiKernel/Incident.h"
19 : Service(
name,
svc ), p_incSvc(
"IncidentSvc",
name),
20 m_arena_job(
"sms_job",&m_ahead_job),
21 m_arena_evt(
"sms_evt",&m_ahead_evt),
22 m_arena_inc(
"sms_inc",&m_ahead_inc)
36 void** ppvInterface ) {
42 *ppvInterface =
static_cast<SegMemSvc*
>(
this);
43 sc = StatusCode::SUCCESS;
47 sc = Service::queryInterface( riid, ppvInterface );
64 p_incSvc->addListener(
this,
"EndEvent" );
65 p_incSvc->addListener(
this,
"DefragMemory" );
67 return StatusCode::SUCCESS;
76 return StatusCode::SUCCESS;
85 return StatusCode::SUCCESS;
94 if (inc.type() ==
"EndEvent") {
96 std::ostringstream
ost;
102 debug() <<
"freeing all memory allocated for Event" <<
endmsg;
106 }
else if ( inc.type() ==
"DefragMemory") {
111 debug() <<
"freeing all memory allocated associated with "
112 <<
"DefragMemory incident" <<
endmsg;
virtual StatusCode reinitialize()
SG::ArenaHeader m_ahead_inc
::StatusCode StatusCode
StatusCode definition for legacy code.
void reset()
Reset all contained allocators.
SG::ArenaHeader m_ahead_evt
static const InterfaceID & interfaceID()
AthROOTErrorHandlerSvc * svc
virtual void handle(const Incident &)
Service to access an arena caching allocator.
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
SegMemSvc(const std::string &name, ISvcLocator *svc)
ServiceHandle< IIncidentSvc > p_incSvc
virtual StatusCode finalize()
virtual StatusCode initialize()
const std::string & name() const
Return this Arena's name.
Helper class for making Arena instances current in a stack-like manner.