:ref:`MPI_Win_test` |mdash| Attempts to complete an RMA exposure epoch; a nonblocking version of :ref:`MPI_Win_wait`
#include <mpi.h>
int MPI_Win_test(MPI_Win win, int *flag)
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_WIN_TEST( WIN, FLAG, IERROR)
INTEGER WIN, IERROR
USE mpi_f08
MPI_Win_test(win, flag, ierror)
TYPE(MPI_Win), INTENT(IN) :: win
LOGICAL, INTENT(OUT) :: flag
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
win
: Window object (handle)
ierror
: Fortran only: Error status (integer).flag
: The returning state of the test for epoch closure.
:ref:`MPI_Win_test` is a one-sided MPI communication synchronization call, a nonblocking version of :ref:`MPI_Win_wait`. It returns flag = true if :ref:`MPI_Win_wait` would return, flag = false otherwise. The effect of return of :ref:`MPI_Win_test` with flag = true is the same as the effect of a return of :ref:`MPI_Win_wait`. If flag = false is returned, then the call has no visible effect.
Invoke :ref:`MPI_Win_test` only where :ref:`MPI_Win_wait` can be invoked. Once the call has returned flag = true, it must not be invoked anew, until the window is posted anew.
.. seealso::
* :ref:`MPI_Win_post`
* :ref:`MPI_Win_wait`