request_test Subroutine

private subroutine request_test(request, flag, status)

Arguments

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

Calls

proc~~request_test~2~~CallsGraph proc~request_test~2 request_test mpi_test mpi_test proc~request_test~2->mpi_test proc~status_array_to_type status_array_to_type proc~request_test~2->proc~status_array_to_type

Called by

proc~~request_test~2~~CalledByGraph proc~request_test~2 request_test interface~test~2 test interface~test~2->proc~request_test~2

Variables

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

Source Code

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

      if (.not. request%is_valid) then
         flag = .true.
         return
      end if

      call MPI_Test(request%m_request, flag, stat, ierr)

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

      if (flag) then
         call request%free()
      end if
   end subroutine request_test