5.4.3 Communicator Destructors



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



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 5.7) 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 the debugging version of an MPI library might choose to synchronize.(End of advice to implementors.)

Enhancement/Correction in the MPI-1.2 Standard: [*]

MPI-Standard for MARMOT