SAM_HC_CALLBACK_REGISTER(3) Corosync Cluster Engine Programmer's Manual
NAME
sam_hc_callback_register - Register health check callback
SYNOPSIS
#include <corosync/sam.h> cs_error_t sam_hc_callback_register (sam_hc_callback_t cb);DESCRIPTION
The
sam_hc_callback_register function is used to register a user
provided healthcheck callback. After calling of this function, the
SAM is switched from application driven healthchecking to event
driven healthchecking. In this mode,
sam_hc_send(3) does not need to
be executed.
The parameter
cb is callback function of type
sam_hc_callback_t defined as:
typedef int (*sam_hc_callback_t)(void);
This function will be regularly called and must return 0 if the
process is functioning normally, or -1 if the process is executing
abnormally. When -1 is returned, the SAM server execute the
registered recovery policy.
A value of NULL can be passed into this function to switch into
application driven healthchecking.
cb to NULL.
RETURN VALUE
This call return CS_OK value if successful, otherwise and error is
returned.
ERRORS
CS_ERR_BAD_HANDLE
SAM was not initialized and registered or health checking is
in running state
CS_ERR_LIBRARY
internal library call failed. This can occur during fork() or
pipe() system calls and the errno variable can be read to
retrieve more information.
SEE ALSO
sam_start(3),
sam_stop(3),
sam_hc_send(3),
sam_register(3),
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 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
corosync Man Page 12/01/2009 SAM_HC_CALLBACK_REGISTER(3)