Skip to content

Latest commit

 

History

History
86 lines (55 loc) · 1.81 KB

MPI_Comm_free_keyval.3.rst

File metadata and controls

86 lines (55 loc) · 1.81 KB

MPI_Comm_free_keyval

:ref:`MPI_Comm_free_keyval` - Frees attribute key for communicator cache attribute.

SYNTAX

C Syntax

#include <mpi.h>

int MPI_Comm_free_keyval(int *comm_keyval)

Fortran Syntax

USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_FREE_KEYVAL(COMM_KEYVAL, IERROR)
     INTEGER COMM_KEYVAL, IERROR

Fortran 2008 Syntax

USE mpi_f08
MPI_Comm_free_keyval(comm_keyval, ierror)
     INTEGER, INTENT(INOUT) :: comm_keyval
     INTEGER, OPTIONAL, INTENT(OUT) :: ierror

INPUT/OUTPUT PARAMETER

  • comm_keyval:

OUTPUT PARAMETER

  • ierror: Fortran only: Error status (integer).

DESCRIPTION

:ref:`MPI_Comm_free_keyval` frees an extant attribute key. This function sets the value of keyval to MPI_KEYVAL_INVALID. Note that it is not erroneous to free an attribute key that is in use, because the actual free does not transpire until after all references (in other communicators on the process) to the key have been freed. These references need to be explicitly freed by the program, either via calls to :ref:`MPI_Comm_delete_attr` that free one attribute instance, or by calls to :ref:`MPI_Comm_free` that free all attribute instances associated with the freed communicator.

This call is identical to the call :ref:`MPI_Keyval_free` but is needed to match the communicator-specific creation function introduced in the MPI-2 standard. The use of :ref:`MPI_Keyval_free` is deprecated.

NOTES

Key values are global (they can be used with any and all communicators).

ERRORS

.. seealso::
   * :ref:`MPI_Comm_create_keyval`