]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Removing of the delete of fAnalyzerPtr - fix of mem corruption. RawWriter destructor...
authormploskon <mploskon@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 13 Apr 2010 21:08:06 +0000 (21:08 +0000)
committermploskon <mploskon@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 13 Apr 2010 21:08:06 +0000 (21:08 +0000)
HLT/CALO/AliHLTCaloRawAnalyzerComponentv3.cxx

index 7c218fea97967a5651dd781811102c94ffa7943d..6a972cc9e7594691e15c1c4695412ec5a320cfa8 100644 (file)
@@ -85,7 +85,46 @@ AliHLTCaloRawAnalyzerComponentv3::AliHLTCaloRawAnalyzerComponentv3(TString det):
 AliHLTCaloRawAnalyzerComponentv3::~AliHLTCaloRawAnalyzerComponentv3()
 {
   //comment
-  DoDeinit();
+  //this is not created here but in the derived classes
+  //   if(fAnalyzerPtr)
+  //     {
+  //       delete fAnalyzerPtr;
+  //        fAnalyzerPtr = 0;
+  //     }
+
+  if(fMapperPtr)
+    {
+      delete  fMapperPtr;
+      fMapperPtr = 0;
+    }
+
+  if(fRawReaderMemoryPtr)
+    {
+      delete fRawReaderMemoryPtr;
+      fRawReaderMemoryPtr = 0;
+    }
+
+  if(fAltroRawStreamPtr)
+    {
+      delete fAltroRawStreamPtr;
+      fAltroRawStreamPtr = 0;
+    }
+
+  if (fRawDataWriter)
+    {
+      delete fRawDataWriter;
+      fRawDataWriter = 0;
+    }
+
+  if (fSanityInspectorPtr)
+    {
+      delete fSanityInspectorPtr;
+      fSanityInspectorPtr = 0;
+    }
+
+  // NOT A GOOD IDEA TO CALL VIRTUAL FUNCTION
+  // ESPECIALLY IN VIRTUAL DESTRUCTOR - just stick to it
+  // DoDeinit();
 }
 
 
@@ -154,12 +193,16 @@ int
 AliHLTCaloRawAnalyzerComponentv3::DoDeinit()
 {
   //comment
+  
+  //this is not created here but in the derived classes
+  //   if(fAnalyzerPtr)
+  //     {
+  //       delete fAnalyzerPtr;
+  //        fAnalyzerPtr = 0;
+  //     }
 
-  if(fAnalyzerPtr)
-    {
-      delete fAnalyzerPtr;
-      fAnalyzerPtr = 0;
-    }
+  // what about the rest of the created objects?
+  // in the contructor?
 
   if(fMapperPtr)
     {
@@ -403,7 +446,15 @@ AliHLTCaloRawAnalyzerComponentv3::RawDataWriter::RawDataWriter(AliHLTCaloConstan
   Init();
 }
 
-
+AliHLTCaloRawAnalyzerComponentv3::RawDataWriter::~RawDataWriter()
+{
+  //destructor - added by MP
+  if (0 != fRawDataBuffer)
+    {
+      delete [] fRawDataBuffer;
+      fRawDataBuffer = 0;
+    }
+}
    
 void  
 AliHLTCaloRawAnalyzerComponentv3::RawDataWriter::Init()