finalize_io_clients_servers Subroutine

public subroutine finalize_io_clients_servers(this, unusable, rc)

Type Bound

ExtDataDriver

Arguments

Type IntentOptional Attributes Name
class(ExtDataDriver), intent(inout), target :: this
class(KeywordEnforcer), intent(in), optional :: unusable
integer, intent(out), optional :: rc

Calls

proc~~finalize_io_clients_servers~~CallsGraph proc~finalize_io_clients_servers ExtDataDriver%finalize_io_clients_servers none~finalize~4 ServerManager%finalize proc~finalize_io_clients_servers->none~finalize~4 none~get_name SplitCommunicator%get_name proc~finalize_io_clients_servers->none~get_name none~get_splitcomm ServerManager%get_splitcomm proc~finalize_io_clients_servers->none~get_splitcomm none~terminate~7 ClientManager%terminate proc~finalize_io_clients_servers->none~terminate~7 proc~mapl_return MAPL_Return proc~finalize_io_clients_servers->proc~mapl_return none~finalize~4->proc~mapl_return none~free_directory_resources DirectoryService%free_directory_resources none~finalize~4->none~free_directory_resources none~free_sub_comm SimpleCommSplitter%free_sub_comm none~finalize~4->none~free_sub_comm none~report_profile AbstractServer%report_profile none~finalize~4->none~report_profile proc~mapl_verify MAPL_Verify none~finalize~4->proc~mapl_verify none~get_splitcomm->proc~mapl_return none~terminate~7->proc~mapl_return none~at~370 ClientThreadVector%at none~terminate~7->none~at~370 none~terminate~6 ClientThread%terminate none~terminate~7->none~terminate~6 none~wait_all ClientThread%wait_all none~terminate~7->none~wait_all at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception none~at_32~57 ClientThreadVector%at_32 none~at~370->none~at_32~57 none~free_directory_resources->proc~mapl_return none~free_directory_resources->proc~mapl_verify mpi_barrier mpi_barrier none~free_directory_resources->mpi_barrier mpi_comm_free mpi_comm_free none~free_directory_resources->mpi_comm_free mpi_free_mem mpi_free_mem none~free_directory_resources->mpi_free_mem mpi_win_free mpi_win_free none~free_directory_resources->mpi_win_free none~free_mpi_resources MpiMutex%free_mpi_resources none~free_directory_resources->none~free_mpi_resources none~free_sub_comm->mpi_comm_free none~report_profile->proc~mapl_return none~report_profile->proc~mapl_verify none~add_column MultiColumn%add_column none~report_profile->none~add_column none~generate_report ProfileReporter%generate_report none~report_profile->none~generate_report none~reduce~3 DistributedProfiler%reduce none~report_profile->none~reduce~3 none~terminate~6->proc~mapl_return none~terminate~6->proc~mapl_verify none~get_connection BaseThread%get_connection none~terminate~6->none~get_connection send send none~terminate~6->send none~clear_requesthandle~3 BaseThread%clear_RequestHandle none~wait_all->none~clear_requesthandle~3 proc~mapl_verify->proc~mapl_throw_exception

Called by

proc~~finalize_io_clients_servers~~CalledByGraph proc~finalize_io_clients_servers ExtDataDriver%finalize_io_clients_servers proc~run ExtDataDriver%run proc~run->proc~finalize_io_clients_servers program~extdata_driver ExtData_Driver program~extdata_driver->proc~run

Source Code

   subroutine finalize_io_clients_servers(this, unusable, rc)
     class (ExtDataDriver), target, intent(inout) :: this
     class (KeywordEnforcer), optional, intent(in) :: unusable
     integer, optional, intent(out) :: rc
     type(SplitCommunicator) :: split_comm

     _UNUSED_DUMMY(unusable)
     call this%cap_server%get_splitcomm(split_comm)
     select case(split_comm%get_name())
     case('model')
        call i_Clients%terminate()
        call o_Clients%terminate()
     end select
     call this%cap_server%finalize()
     _RETURN(_SUCCESS)

   end subroutine finalize_io_clients_servers