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~~CallsGraph proc~request_test request_test mpi_test mpi_test proc~request_test->mpi_test

Called by

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

Variables

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

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

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

      if (present(status)) then
         call MPI_Test(request%m_request, flag, status, ierr)
      else
         call MPI_Test(request%m_request, flag, MPI_STATUS_IGNORE, ierr)
      end if

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