SharedEvtQueueProvider Node1 SharedEvtQueueProvider - m_nprocesses - m_useSharedReader - m_nEventsBeforeFork - m_nChunkSize - m_nChunkStart - m_nPositionInChunk - m_nEvtRequested - m_nEvtCounted - m_sharedEventQueue - m_evtShare + SharedEvtQueueProvider() + ~SharedEvtQueueProvider() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + subProcessLogs() + generateOutputReport() + handle() + bootstrap_func() + exec_func() + fin_func() - SharedEvtQueueProvider() - SharedEvtQueueProvider() - operator=() - addEventsToQueue() Node2 AthenaMPToolBase # m_nprocs # m_subprocTopDir # m_subprocDirPrefix # m_evtSelName # m_processGroup # m_evtProcessor # m_appMgr # m_fileMgr # m_ioMgr # m_evtSelector # m_fileMgrLog # m_fdsRegistry # m_randStr # m_isPileup + AthenaMPToolBase() + ~AthenaMPToolBase() + initialize() + finalize() + ATLAS_NOT_THREAD_SAFE() + reportSubprocessStatuses() + generateOutputReport() + useFdsRegistry() + setRandString() + killChildren() + bootstrap_func() + exec_func() + fin_func() # ATLAS_NOT_THREAD_SAFE() # redirectLog() # updateIoReg() # fmterror() # reopenFds() # handleSavedPfc() # waitForSignal() # evtSelector() - AthenaMPToolBase() - AthenaMPToolBase() - operator=() - reopenFd() Node2->Node1 Node3 AthAlgTool + AthAlgTool() + ~AthAlgTool() - AthAlgTool() - AthAlgTool() - operator=() Node3->Node2 Node4 AthCommonDataStore < AthCommonMsg< AlgTool > > - m_evtStore - m_detStore - m_vhka - m_varHandleArraysDeclared + AthCommonDataStore() + evtStore() + evtStore() + detStore() + sysInitialize() + sysStart() + inputHandles() + outputHandles() + declareProperty() + declareProperty() + declareProperty() + declareProperty() + declareProperty() + declareProperty() + updateVHKA() # renounceArray() # renounce() # extraDeps_update_handler() - declareGaudiProperty() - declareGaudiProperty() - declareGaudiProperty() - declareGaudiProperty() Node4->Node3 Node5 AthCommonMsg< AlgTool > + msg() + msg() + msgLvl() Node5->Node4 Node7 IAthenaMPTool + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + reportSubprocessStatuses() + subProcessLogs() + generateOutputReport() + useFdsRegistry() + setRandString() + killChildren() + interfaceID() Node7->Node2 Node8 IAlgTool Node8->Node7 Node9 AthenaInterprocess ::IMessageDecoder + ~IMessageDecoder() + operator() Node9->Node2 Node10 IIncidentListener Node10->Node1