cmap_dispatch (3) - Linux Manuals
cmap_dispatch: Dispatches callbacks from the CMAP service
NAME
cmap_dispatch - Dispatches callbacks from the CMAP service
SYNOPSIS
#include <corosync/cmap.h>
cs_error_t cmap_dispatch (cmap_handle_t handle, cs_dispatch_flags_t dispatch_types);
DESCRIPTION
The cmap_dispatch function is used to dispatch configuration changes.Each application may have several connections to the CMAP API. Each application uses the handle argument to uniquely identify the connection.
The dispatch_types argument is used to identify the type of dispatch to execute. The possible types are CS_DISPATCH_ONE, CS_DISPATCH_ALL and CS_DISPATCH_BLOCKING.
The dispatch values have the following meanings:
- CS_DISPATCH_ONE
- Dispatch at least one callback, blocking until the callback is dispatched.
- CS_DISPATCH_ALL
- Dispatch all waiting callbacks without blocking to wait for any callbacks.
- CS_DISPATCH_BLOCKING
- Dispatch all callbacks blocking indefinitely. This is used in a threaded program where a thread is created, and then cs_dispatch() is called immediately from the created thread to execute callbacks.
- CS_DISPATCH_ONE_NONBLOCKING
- Dispatch at most one callback. If there is no pending callback, CS_ERR_TRY_AGAIN is returned.
It's needed to call cmap_track_add(3) to add tracked items and receive callbacks.
RETURN VALUE
This call returns the CS_OK value if successful, otherwise an error is returned.
SEE ALSO
cmap_track_add(3), cmap_track_delete(3), cmap_overview(8)
CS_ERR_TRY_AGAIN Resource temporarily unavailable
CS_ERR_INVALID_PARAM Invalid argument
CS_ERR_ACCESS Permission denied
CS_ERR_LIBRARY The connection failed
CS_ERR_INTERRUPT System call inturrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functuality not supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to completed the requested task