AthenaInterprocess::ProcessGroup Node1 AthenaInterprocess ::ProcessGroup - m_nprocs - m_pgid - m_processesCreated + ProcessGroup() + ~ProcessGroup() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + ATLAS_NOT_THREAD_SAFE() + wait_once() + pullOneResult() + getGroupID() + getChildren() + getStatuses() - ATLAS_NOT_THREAD_SAFE() Node2 AthenaInterprocess ::IdentifiedSharedQueue + IdentifiedSharedQueue() + IdentifiedSharedQueue() + try_send() + send() + try_receive() + try_receive() + receive() + receive() Node2->Node1 -m_inbox Node7 AthenaInterprocess ::Process - m_pid + Process() + Process() + operator=() + ~Process() + getProcessID() + connectIn() + connectOut() + schedule() + ATLAS_NOT_THREAD_SAFE() + launch() Node2->Node7 -m_outbox Node3 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() Node3->Node2 Node3->Node7 -m_inbox Node4 std::string Node4->Node3 -m_name Node5 std::basic_string< char > Node5->Node4 Node6 std::vector< AthenaInterprocess ::Process > Node6->Node1 -m_processes Node7->Node6 +elements Node8 std::vector< AthenaInterprocess ::ProcessStatus > Node8->Node1 -m_statuses Node9 AthenaInterprocess ::ProcessStatus + pid + exitcode Node9->Node8 +elements