Blame man/man3/MPI_Comm_free_keyval.3

Packit 0848f5
.TH MPI_Comm_free_keyval 3 "11/10/2017" " " "MPI"
Packit 0848f5
.SH NAME
Packit 0848f5
MPI_Comm_free_keyval \-  Frees an attribute key for communicators 
Packit 0848f5
.SH SYNOPSIS
Packit 0848f5
.nf
Packit 0848f5
int MPI_Comm_free_keyval(int *comm_keyval)
Packit 0848f5
.fi
Packit 0848f5
.SH INPUT PARAMETERS
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B comm_keyval 
Packit 0848f5
- Frees the integer key value (integer) 
Packit 0848f5
.PD 1
Packit 0848f5
Packit 0848f5
.SH NOTES
Packit 0848f5
Key values are global (they can be used with any and all communicators)
Packit 0848f5
Packit 0848f5
.SH THREAD AND INTERRUPT SAFETY
Packit 0848f5
Packit 0848f5
This routine is thread-safe.  This means that this routine may be
Packit 0848f5
safely used by multiple threads without the need for any user-provided
Packit 0848f5
thread locks.  However, the routine is not interrupt safe.  Typically,
Packit 0848f5
this is due to the use of memory allocation routines such as 
Packit 0848f5
.I malloc
Packit 0848f5
or other non-MPICH runtime routines that are themselves not interrupt-safe.
Packit 0848f5
Packit 0848f5
.SH NOTES FOR FORTRAN
Packit 0848f5
All MPI routines in Fortran (except for 
Packit 0848f5
.I MPI_WTIME
Packit 0848f5
and 
Packit 0848f5
.I MPI_WTICK
Packit 0848f5
) have
Packit 0848f5
an additional argument 
Packit 0848f5
.I ierr
Packit 0848f5
at the end of the argument list.  
Packit 0848f5
.I ierr
Packit 0848f5
is an integer and has the same meaning as the return value of the routine
Packit 0848f5
in C.  In Fortran, MPI routines are subroutines, and are invoked with the
Packit 0848f5
.I call
Packit 0848f5
statement.
Packit 0848f5
Packit 0848f5
All MPI objects (e.g., 
Packit 0848f5
.I MPI_Datatype
Packit 0848f5
, 
Packit 0848f5
.I MPI_Comm
Packit 0848f5
) are of type 
Packit 0848f5
.I INTEGER
Packit 0848f5
in Fortran.
Packit 0848f5
Packit 0848f5
.SH ERRORS
Packit 0848f5
Packit 0848f5
All MPI routines (except 
Packit 0848f5
.I MPI_Wtime
Packit 0848f5
and 
Packit 0848f5
.I MPI_Wtick
Packit 0848f5
) return an error value;
Packit 0848f5
C routines as the value of the function and Fortran routines in the last
Packit 0848f5
argument.  Before the value is returned, the current MPI error handler is
Packit 0848f5
called.  By default, this error handler aborts the MPI job.  The error handler
Packit 0848f5
may be changed with 
Packit 0848f5
.I MPI_Comm_set_errhandler
Packit 0848f5
(for communicators),
Packit 0848f5
.I MPI_File_set_errhandler
Packit 0848f5
(for files), and 
Packit 0848f5
.I MPI_Win_set_errhandler
Packit 0848f5
(for
Packit 0848f5
RMA windows).  The MPI-1 routine 
Packit 0848f5
.I MPI_Errhandler_set
Packit 0848f5
may be used but
Packit 0848f5
its use is deprecated.  The predefined error handler
Packit 0848f5
.I MPI_ERRORS_RETURN
Packit 0848f5
may be used to cause error values to be returned.
Packit 0848f5
Note that MPI does 
Packit 0848f5
.B not
Packit 0848f5
guarentee that an MPI program can continue past
Packit 0848f5
an error; however, MPI implementations will attempt to continue whenever
Packit 0848f5
possible.
Packit 0848f5
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B MPI_SUCCESS 
Packit 0848f5
- No error; MPI routine completed successfully.
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B MPI_ERR_ARG 
Packit 0848f5
- Invalid argument.  Some argument is invalid and is not
Packit 0848f5
identified by a specific error class (e.g., 
Packit 0848f5
.I MPI_ERR_RANK
Packit 0848f5
).
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B MPI_ERR_ARG 
Packit 0848f5
- This error class is associated with an error code that 
Packit 0848f5
indicates that an attempt was made to free one of the permanent keys.
Packit 0848f5
.PD 1