Provided by: libsam-dev_3.1.6-2ubuntu1_amd64 bug

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