133. Communicator Destructors


Up: Communicator Management Next: Motivating Examples Previous: Communicator Constructors

MPI_COMM_FREE(comm)
INOUT comm communicator to be destroyed (handle)

int MPI_Comm_free(MPI_Comm *comm)

MPI_COMM_FREE(COMM, IERROR)
INTEGER COMM, IERROR
{ void MPI::Comm::Free() (binding deprecated, see Section Deprecated since MPI-2.2 ) }
This collective operation marks the communication object for deallocation. The handle is set to MPI_COMM_NULL. Any pending operations that use this communicator will complete normally; the object is actually deallocated only if there are no other active references to it. This call applies to intra- and inter-communicators. The delete callback functions for all cached attributes (see Section Caching ) are called in arbitrary order.


Advice to implementors.

A reference-count mechanism may be used: the reference count is incremented by each call to MPI_COMM_DUP, and decremented by each call to MPI_COMM_FREE. The object is ultimately deallocated when the count reaches zero.

Though collective, it is anticipated that this operation will normally be implemented to be local, though a debugging version of an MPI library might choose to synchronize. ( End of advice to implementors.)



Up: Communicator Management Next: Motivating Examples Previous: Communicator Constructors


Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009