:ref:`MPI_Win_free` - Frees the window object and returns a null handle.
#include <mpi.h>
int MPI_Win_free(MPI_Win *win)
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_WIN_FREE(WIN, IERROR)
INTEGER WIN, IERROR
USE mpi_f08
MPI_Win_free(win, ierror)
TYPE(MPI_Win), INTENT(INOUT) :: win
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
win
: Window object (handle).
ierror
: Fortran only: Error status (integer).
:ref:`MPI_Win_free` frees the window object win and returns a null handle (equal to MPI_WIN_NULL). This collective call is executed by all processes in the group associated with win. It can be invoked by a process only after it has completed its involvement in RMA communications on window win, that is, the process has called :ref:`MPI_Win_fence`, or called :ref:`MPI_Win_unlock` to match a previous call to :ref:`MPI_Win_lock`. When the call returns, the window memory can be freed.
If the window was created through :ref:`MPI_Win_allocate` or :ref:`MPI_Win_allocate_shared` then the memory buffer allocated in that call will be freed when calling :ref:`MPI_Win_free`.
.. seealso::
* :ref:`MPI_Win_create`
* :ref:`MPI_Win_allocate`
* :ref:`MPI_Win_allocate_shared`