#include <PerfMonTestManyLeaksAlg.h>
Definition at line 26 of file PerfMonTestManyLeaksAlg.h.
◆ StoreGateSvc_t
◆ AthAlgorithm()
| AthAlgorithm::AthAlgorithm |
( |
const std::string & | name, |
|
|
ISvcLocator * | pSvcLocator ) |
Constructor:
Definition at line 51 of file AthAlgorithm.cxx.
25 :
27{
28
29
30
31 m_updateDataHandles =
32 std::make_unique<AthenaBaseComps::AthAlgorithmDHUpdate>
34 std::move (m_updateDataHandles));
35}
DataObjIDColl m_extendedExtraObjects
AthCommonDataStore(const std::string &name, T... args)
◆ declareGaudiProperty()
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
158 {
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
◆ declareProperty()
Definition at line 145 of file AthCommonDataStore.h.
145 {
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
◆ definitelyLostFct()
| long * ManyLeaksAlg::definitelyLostFct |
( |
long ** | array | ) |
|
|
private |
this one's definitely lost
Definition at line 145 of file PerfMonTestManyLeaksAlg.cxx.
146{
148 {
149
151
152
153
154
156
157
158
159 }
161}
Gaudi::Property< int > m_leakSize
Property to setup the size of the leak.
◆ detStore()
◆ evtStore()
◆ execute()
| StatusCode ManyLeaksAlg::execute |
( |
| ) |
|
|
overridevirtual |
Definition at line 42 of file PerfMonTestManyLeaksAlg.cxx.
43{
45
47 return StatusCode::SUCCESS;
48 }
49
51
52 return StatusCode::SUCCESS;
53}
void leakAll()
this one's definitely lost
Gaudi::Property< bool > m_leakInInit
Property to setup the location of the leak, in initialize (true) or execute (false)
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
| const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
51{
52
53
56 }
57 return Algorithm::extraOutputDeps();
58}
◆ indirectlyLostFct()
| long * ManyLeaksAlg::indirectlyLostFct |
( |
long ** | array | ) |
|
|
private |
this one's indirectly lost
Definition at line 113 of file PerfMonTestManyLeaksAlg.cxx.
114{
116 {
117
119
120
129
130
132
133
134
135
137
138
139
140
141 }
143}
◆ initialize()
| StatusCode ManyLeaksAlg::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 26 of file PerfMonTestManyLeaksAlg.cxx.
27{
29
30
31
32
33
34 if ( !bool(m_pointers) )
35 m_pointers = new long* [4];
36
38
39 return StatusCode::SUCCESS;
40}
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ leakAll()
| void ManyLeaksAlg::leakAll |
( |
| ) |
|
|
private |
this one's definitely lost
Definition at line 55 of file PerfMonTestManyLeaksAlg.cxx.
56{
57
58
59 const unsigned int maxSize = 256;
60 long **
array =
new long* [maxSize];
61 for (
unsigned int i=0;
i<maxSize; ++
i )
62 array[i] = NULL;
63
64
66
67
69
70
72
73
75
76
77}
long * stillReachableFct(long **array)
long * possibleLostFct(long **array)
this one's possible lost
long * indirectlyLostFct(long **array)
this one's indirectly lost
long * definitelyLostFct(long **array)
this one's definitely lost
◆ msg()
◆ msgLvl()
| bool AthCommonMsg< Algorithm >::msgLvl |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ possibleLostFct()
| long * ManyLeaksAlg::possibleLostFct |
( |
long ** | array | ) |
|
|
private |
◆ renounce()
Definition at line 380 of file AthCommonDataStore.h.
381 {
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
◆ renounceArray()
◆ stillReachableFct()
| long * ManyLeaksAlg::stillReachableFct |
( |
long ** | array | ) |
|
|
private |
◆ sysInitialize()
| StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.
Definition at line 66 of file AthAlgorithm.cxx.
66 {
68
71 }
72 ServiceHandle<ICondSvc> cs(
"CondSvc",
name());
74 if (
h->isCondition() &&
h->mode() == Gaudi::DataHandle::Writer) {
75
76 if ( cs.retrieve().isFailure() ) {
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
88}
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
Definition at line 308 of file AthCommonDataStore.h.
308 {
309
310
313 for (
auto k :
keys) {
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka
◆ ATLAS_THREAD_SAFE
| long** m_pointers PerfMonTest::ManyLeaksAlg::ATLAS_THREAD_SAFE |
|
staticprivate |
◆ m_definitelyLost
| long* PerfMonTest::ManyLeaksAlg::m_definitelyLost {} |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
| DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_indirectlyLost
| long* PerfMonTest::ManyLeaksAlg::m_indirectlyLost {} |
|
private |
◆ m_leakInInit
| Gaudi::Property<bool> PerfMonTest::ManyLeaksAlg::m_leakInInit {this, "LeakInInit", false, "Where it will leak: initialize or execute(default)"} |
|
private |
Property to setup the location of the leak, in initialize (true) or execute (false)
Definition at line 56 of file PerfMonTestManyLeaksAlg.h.
56{this, "LeakInInit", false, "Where it will leak: initialize or execute(default)"};
◆ m_leakSize
| Gaudi::Property<int> PerfMonTest::ManyLeaksAlg::m_leakSize {this, "LeakSize", 10, "Number of longs to be leaked just once"} |
|
private |
◆ m_possibleLost
| long* PerfMonTest::ManyLeaksAlg::m_possibleLost {} |
|
private |
◆ m_stillReachable
| long* PerfMonTest::ManyLeaksAlg::m_stillReachable {} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files: