dacs_group_add_member

NAME

dacs_group_add_member - Add a member to a DaCS group.

SYNOPSIS

DACS_ERR_T dacs_group_add_member ( de_id_t de, dacs_process_id_t pid, dacs_group_t group )

Call parameters  
de The DE ID of the member to add. The group owner may specify a value of DACS_DE_SELF to add itself.
pid The process ID of the member to add. The group owner may specify a value of DACS_PID_SELF to add itself.
group The handle of the group to which the new member is to be added.

DESCRIPTION

The dacs_group_add_member service adds the specified de/pid as a member of the specified group. This service can only be called by the process which owns the group. If the owner process is adding itself the service returns immediately. If the member to be added is not the owner of the group this service blocks, waiting for an associated dacs_group_accept() call from the new member.

RETURN VALUE

The dacs_group_add_member service returns an error indicator defined as:
  • DACS_SUCCESS: normal return.
  • DACS_ERR_INVALID_DE: the specified DE is either invalid or not reserved.
  • DACS_ERR_INVALID_PID: the specified PID does not refer to an active process.
  • DACS_ERR_INVALID_HANDLE: the group handle does not refer to a valid group.
  • DACS_ERR_INVALID_TARGET: this operation is not allowed for the target process.
  • DACS_ERR_GROUP_CLOSED: the group is closed.
  • DACS_ERR_GROUP_DUPLICATE: the specified process is already a member of the specified group.
  • DACS_ERR_NO_RESOURCE: unable to allocate required resources.

SEE ALSO

dacs_group_init(3), dacs_group_close(3), dacs_group_destroy(3), dacs_group_accept(3), dacs_group_leave(3), dacs_barrier_wait(3)