request_wait Subroutine

private subroutine request_wait(request, status)

Arguments

Type IntentOptional Attributes Name
type(request_t), intent(inout) :: request
type(MPI_Status), intent(out), optional :: status

Calls

proc~~request_wait~2~~CallsGraph proc~request_wait~2 request_wait mpi_wait mpi_wait proc~request_wait~2->mpi_wait proc~status_array_to_type status_array_to_type proc~request_wait~2->proc~status_array_to_type

Called by

proc~~request_wait~2~~CalledByGraph proc~request_wait~2 request_wait interface~wait~2 wait interface~wait~2->proc~request_wait~2

Variables

Type Visibility Attributes Name Initial
integer(kind=int32), private :: ierr
integer, private :: stat(MPI_STATUS_SIZE)

Source Code

   subroutine request_wait(request, status)
      type(request_t), intent(inout) :: request
      type(MPI_Status), intent(out), optional :: status
      integer(int32) :: ierr
      integer :: stat(MPI_STATUS_SIZE)

      if (.not. request%is_valid) then
         error stop "Cannot wait on null request"
      end if

      call MPI_Wait(request%m_request, stat, ierr)

      if (present(status)) then
         status = status_array_to_type(stat)
      end if

      call request%free()
   end subroutine request_wait