SharedEvtQueueConsumer Node1 SharedEvtQueueConsumer - m_useSharedReader - m_useSharedWriter - m_isRoundRobin - m_nEventsBeforeFork - m_nSkipEvents - m_debug - m_rankId - m_evtContext - m_readEventOrders - m_masterPid + SharedEvtQueueConsumer() + ~SharedEvtQueueConsumer() + initialize() + finalize() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + reportSubprocessStatuses() + subProcessLogs() + bootstrap_func() + exec_func() + fin_func() - SharedEvtQueueConsumer() - SharedEvtQueueConsumer() - operator=() - ATLAS_NOT_THREAD_SAFE() Node2 AthenaMPToolBase # m_nprocs # m_evtSelector # 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 Node17 std::string Node17->Node1 -m_eventOrdersFile Node17->Node2 #m_evtSelName #m_randStr #m_fileMgrLog #m_subprocTopDir #m_subprocDirPrefix Node16 AthenaInterprocess ::SharedQueue - m_queue - m_count + SharedQueue() + SharedQueue() + SharedQueue() + operator=() + ~SharedQueue() + name() + try_send() + send() + try_receive() + receive() + try_send_basic() + send_basic() + try_receive_basic() + receive_basic() + operator bool() # operator->() - copy() - destroy() - do_send_basic() - do_receive_basic() Node17->Node16 -m_name Node29 std::map< pid_t, std ::pair< int, TimeValType > > + keys + elements Node29->Node1 -m_eventStat Node16->Node1 -m_sharedRankQueue -m_sharedEventQueue Node30 IDataShare + ~IDataShare() + makeServer() + makeClient() + readData() + commitCatalog() + interfaceID() Node30->Node1 -m_dataShare Node32 IEvtSelectorSeek + DeclareInterfaceID() + seek() + curEvent() + size() Node32->Node1 -m_evtSelSeek Node33 IEventSeek + DeclareInterfaceID() + seek() + curEvent() Node33->Node1 -m_evtSeek Node34 ServiceHandle< IChronoStat Svc > Node34->Node1 -m_chronoStatSvc Node35 std::vector< int > + elements Node35->Node1 -m_eventOrders