git://git.uio.no
/
u/mrichter/AliRoot.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
(parent:
595cfc1
)
Fix leak due to incomplete cleanup of the AODEvent/AliAnalysisFilter. (Laurent, Jan...
author
agheata
<agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Dec 2011 15:52:21 +0000 (15:52 +0000)
committer
agheata
<agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Dec 2011 15:52:21 +0000 (15:52 +0000)
ANALYSIS/AliAnalysisFilter.cxx
patch
|
blob
|
blame
|
history
ANALYSIS/AliAnalysisFilter.h
patch
|
blob
|
blame
|
history
STEER/AOD/AliAODEvent.cxx
patch
|
blob
|
blame
|
history
STEER/AOD/AliAODInputHandler.cxx
patch
|
blob
|
blame
|
history
diff --git
a/ANALYSIS/AliAnalysisFilter.cxx
b/ANALYSIS/AliAnalysisFilter.cxx
index
135cc61
..
fdddaa6
100644
(file)
--- a/
ANALYSIS/AliAnalysisFilter.cxx
+++ b/
ANALYSIS/AliAnalysisFilter.cxx
@@
-55,6
+55,12
@@
AliAnalysisFilter::AliAnalysisFilter(const AliAnalysisFilter& obj):
fCuts = obj.fCuts;
}
+AliAnalysisFilter::~AliAnalysisFilter()
+{
+// Destructor
+ if (fCuts) fCuts->Delete("slow");
+ delete fCuts;
+}
AliAnalysisFilter& AliAnalysisFilter::operator=(const AliAnalysisFilter& other)
{
diff --git
a/ANALYSIS/AliAnalysisFilter.h
b/ANALYSIS/AliAnalysisFilter.h
index
1bcc360
..
099b8a0
100644
(file)
--- a/
ANALYSIS/AliAnalysisFilter.h
+++ b/
ANALYSIS/AliAnalysisFilter.h
@@
-23,7
+23,7
@@
class AliAnalysisFilter : public TNamed
AliAnalysisFilter(const char* name, const char* title = "AnalysisFilter");
AliAnalysisFilter(const AliAnalysisFilter& obj);
AliAnalysisFilter& operator=(const AliAnalysisFilter& other);
- virtual ~AliAnalysisFilter() {;}
+ virtual ~AliAnalysisFilter();
virtual UInt_t IsSelected(TObject* obj);
virtual UInt_t IsSelected(TList* obj);
virtual Bool_t IsSelected(char* name);
diff --git
a/STEER/AOD/AliAODEvent.cxx
b/STEER/AOD/AliAODEvent.cxx
index
26b5da0
..
cd8c85e
100644
(file)
--- a/
STEER/AOD/AliAODEvent.cxx
+++ b/
STEER/AOD/AliAODEvent.cxx
@@
-236,7
+236,10
@@
AliAODEvent & AliAODEvent::operator=(const AliAODEvent& aod) {
AliAODEvent::~AliAODEvent()
{
// destructor
- if(!fConnected) delete fAODObjects;
+ if(!fConnected) {
+ fAODObjects->Delete("slow");
+ delete fAODObjects;
+ }
delete fAODFolder;
}
diff --git
a/STEER/AOD/AliAODInputHandler.cxx
b/STEER/AOD/AliAODInputHandler.cxx
index
1526be3
..
8ba643a
100644
(file)
--- a/
STEER/AOD/AliAODInputHandler.cxx
+++ b/
STEER/AOD/AliAODInputHandler.cxx
@@
-199,6
+199,7
@@
Bool_t AliAODInputHandler::FinishEvent()
{
// Finish event
if (fMixingHandler) fMixingHandler->FinishEvent();
+ if (fEvent) fEvent->Reset();
return kTRUE;
}