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

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 the 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 Standard Index
Return to MPI home page