tibrvftMember_Destroy()

Function

Declaration

tibrv_status tibrvftMember_Destroy(
    tibrvftMember   member);
tibrv_status tibrvftMember_DestroyEx(
    tibrvftMember            member,
    tibrvftMemberOnComplete  completionFunction);

Purpose

Destroy a member of a fault tolerance group.

Remarks

By destroying a member object, the program cancels or withdraws its membership in the group.

This function has two effects:

If this member is active, stop sending the heartbeat signal.
Reclaim the program storage associated with this member.

Once a program withdraws from a group, it no longer receives fault tolerance events. One direct consequence is that an active program that withdraws can never receive an instruction to deactivate.

Parameter

Description

member

Destroy this member object, and cancel membership in its fault tolerance group.

completionFunction

Rendezvous software runs this function immediately after all instances of the member’s callback function (and internal callback functions) have completed. If callback functions are not running when the event is destroyed, the destroy call runs it before returning.

If this parameter is NULL, tibrvftMember_DestroyEx() does not run a completion function; instead, its behavior is the same as tibrvftMember_Destroy().

See tibrvftMemberOnComplete.

Extended Function

Although tibrvftMember_DestroyEx() prevents future dispatch calls from running the destroyed member’s callback function, that callback function might be already running in one or more threads that dispatch events from the same queue. In each thread where the callback function is already in progress, that callback function does continue to run until complete. Rendezvous software ensures that the completion function runs when the last callback-in-progress has completed; for important details, see tibrvEventOnComplete.

See Also

tibrvftMember_Create()

tibrvftMemberOnComplete