Provided by: openmpi-doc_4.1.6-7ubuntu2_all bug

NAME

       MPI_Win_unlock - Completes an RMA access epoch started by a call to MPI_Win_lock.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Win_unlock(int rank, MPI_Win win)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_WIN_UNLOCK(RANK, WIN, IERROR)
            INTEGER RANK, WIN, IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Win_unlock(rank, win, ierror)
            INTEGER, INTENT(IN) :: rank
            TYPE(MPI_Win), INTENT(IN) :: win
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       void MPI::Win::Unlock(int rank) const

INPUT PARAMETERS

       rank      Rank of window (nonnegative integer).

       win       Window object (handle).

OUTPUT PARAMETER

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_Win_unlock  completes  an  RMA  access  epoch  started  by a call to MPI_Win_lock. RMA
       operations issued during this period will have completed both at the  origin  and  at  the
       target when the call returns.

       Locks  are  used  to  protect  accesses  to the locked target window effected by RMA calls
       issued between the lock and unlock call, and to protect local  load/store  accesses  to  a
       locked local window executed between the lock and unlock call. Accesses that are protected
       by an exclusive lock will not be concurrent at the window site with other accesses to  the
       same window that are lock protected. Accesses that are protected by a shared lock will not
       be concurrent at the window site with accesses protected by an exclusive lock to the  same
       window.

ERRORS

       Almost all MPI routines return an error value; C routines as the value of the function and
       Fortran routines in the last argument. C++ functions do not return errors. If the  default
       error  handler  is  set  to  MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception
       mechanism will be used to throw an MPI::Exception object.

       Before the error value is returned, the current MPI error handler is called.  By  default,
       this  error  handler aborts the MPI job, except for I/O function errors. The error handler
       may   be   changed   with   MPI_Comm_set_errhandler;   the   predefined   error    handler
       MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not
       guarantee that an MPI program can continue past an error.

SEE ALSO

       MPI_Win_lock MPI_Win_unlock_all