table of contents
VOTEQUORUM_DISPATCH(3) | Corosync Cluster Engine Programmer's Manual | VOTEQUORUM_DISPATCH(3) |
NAME¶
votequorum_dispatch - Dispatches callbacks from the votequorum serviceSYNOPSIS¶
#include <corosync/votequorum.h>int votequorum_dispatch(votequorum_handle_t handle, cs_dispatch_flags_t *dispatch_types);
DESCRIPTION¶
The votequorum_dispatch function is used to dispatch configuration changes.Each application may have several connections to the votequorum 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 defined by the structure:
typedef enum { CS_DISPATCH_ONE = 1, CS_DISPATCH_ALL = 2, CS_DISPATCH_BLOCKING = 3, CS_DISPATCH_ONE_NONBLOCKING = 4 } cs_dispatch_flags_t;
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 quorum_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.
RETURN VALUE¶
This call returns the CS_OK value if successful, otherwise an error is returned.ERRORS¶
CS_ERR_TRY_AGAIN Resource temporarily unavailableCS_ERR_INVALID_PARAM Invalid argument
CS_ERR_ACCESS Permission denied
CS_ERR_LIBRARY The connection failed
CS_ERR_INTERRUPT System call interrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functionality not supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to complete the requested task
SEE ALSO¶
votequorum_overview(3), votequorum_initialize(3), votequorum_finalize(3), votequorum_getinfo(3), votequorum_trackstart(3), votequorum_trackstop(3), votequorum_fd_get(3), votequorum_context_set(3), votequorum_context_get(3), votequorum_setexpected(3), votequorum_setvotes(3)2020-03-06 | corosync Man Page |