From f75868b38db04459a02838bb8f5611ec256fe2f1 Mon Sep 17 00:00:00 2001 From: richterm Date: Wed, 23 Jul 2008 07:33:41 +0000 Subject: [PATCH] bugfix: corrected misleading warning messages; ignore ComponentStatistics data blocks produced in the kChain handler --- HLT/BASE/AliHLTOUTHandlerChain.cxx | 16 ++++++++++++++++ HLT/BASE/AliHLTSystem.cxx | 10 +++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/HLT/BASE/AliHLTOUTHandlerChain.cxx b/HLT/BASE/AliHLTOUTHandlerChain.cxx index 954e2a281d0..66a015340e6 100644 --- a/HLT/BASE/AliHLTOUTHandlerChain.cxx +++ b/HLT/BASE/AliHLTOUTHandlerChain.cxx @@ -102,6 +102,22 @@ int AliHLTOUTHandlerChain::ProcessData(AliHLTOUT* pData) // parent HLTOUT collection AliHLTOUT* pSubCollection=dynamic_cast(fpTask); pSubCollection->Init(); + + // filter out some data blocks which should not be processed + // in the next stage: + // 1. we are not interested in the component statistics + // produced in the HLTOUT handler chain + for (iResult=pSubCollection->SelectFirstDataBlock(); + iResult>=0; + iResult=pSubCollection->SelectNextDataBlock()) { + AliHLTComponentDataType dt=kAliHLTVoidDataType; + AliHLTUInt32_t spec=kAliHLTVoidDataSpec; + pSubCollection->GetDataBlockDescription(dt, spec); + if (dt==kAliHLTDataTypeComponentStatistics) { + pSubCollection->MarkDataBlockProcessed(); + } + } + pData->AddSubCollection(pSubCollection); } else { fpTask->Reset(); diff --git a/HLT/BASE/AliHLTSystem.cxx b/HLT/BASE/AliHLTSystem.cxx index 032f406d861..5b5274b4fa7 100644 --- a/HLT/BASE/AliHLTSystem.cxx +++ b/HLT/BASE/AliHLTSystem.cxx @@ -846,25 +846,25 @@ int AliHLTSystem::ProcessHLTOUT(AliHLTOUT* pHLTOUT, AliESDEvent* esd) break; case AliHLTModuleAgent::kRawStream: HLTWarning("HLTOUT handler type 'kRawStream' not yet implemented: agent %s, data type %s, specification %#x", - pMsg, pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"invalid", + pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"", AliHLTComponent::DataType2Text(dt).c_str(), spec); break; case AliHLTModuleAgent::kChain: HLTWarning("HLTOUT handler type 'kChain' has already been processed: agent %s, data type %s, specification %#x\n" "New block of this type added by the chain? Skipping data block ...", - pMsg, pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"invalid", + pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"", AliHLTComponent::DataType2Text(dt).c_str(), spec); break; case AliHLTModuleAgent::kProprietary: HLTDebug("processing proprietary data: agent %s, data type %s, specification %#x", - pMsg, pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"invalid", + pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"", AliHLTComponent::DataType2Text(dt).c_str(), spec); if (pHandler) { AliHLTOUT::AliHLTOUTLockGuard g(pHLTOUT); int res=pHandler->ProcessData(pHLTOUT); if (res<0) { HLTWarning("processing proprietary data failed (%d): agent %s, data type %s, specification %#x", - res, pMsg, pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"invalid", + res, pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"", AliHLTComponent::DataType2Text(dt).c_str(), spec); } } @@ -874,7 +874,7 @@ int AliHLTSystem::ProcessHLTOUT(AliHLTOUT* pHLTOUT, AliESDEvent* esd) // fall trough intended default: HLTWarning("%s handler type: agent %s, data type %s, specification %#x, ... skipping data block", - pMsg, pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"invalid", + pMsg, pHLTOUT->GetAgent()?pHLTOUT->GetAgent()->GetModuleId():"", AliHLTComponent::DataType2Text(dt).c_str(), spec); } } -- 2.39.3