SAM_START(3) Corosync Cluster Engine Programmer's Manual SAM_START(3)NAME
sam_start - Start health checking
SYNOPSIS
#include <corosync/sam.h>
cs_error_t sam_start (void);
DESCRIPTION
The sam_start function is used to start health checking of application. After calling this function, the active process needs to send
healthchecks within the registered time interval by calling sam_hc_send(3). If event driven healthchecking is configured by calling
sam_register(3), an internal thread will be created and send health check confirmations four times per time_interval.
Application must be registered by calling sam_register(3) before this function can be called.
An application can always stop health checking by calling the sam_stop(3) function.
If SAM is initialized with quorum policy SAM_RECOVERY_POLICY_QUIT or SAM_RECOVERY_POLICY_RESTART sam_start will block until corosync
becomes quorate.
RETURN VALUE
This call return CS_OK value if successful, otherwise and error is returned. If SAM is initialized with quorum policy, returned error can
also be quorum error.
ERRORS
CS_ERR_BAD_HANDLE
component was not registered by calling sam_register(3) function.
SEE ALSO sam_hc_send(3), sam_stop(3), sam_register(3), sam_hc_callback_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 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
corosync Man Page 30/04/2010 SAM_START(3)
Check Out this Related Man Page
SAM_INITIALIZE(3) Corosync Cluster Engine Programmer's Manual SAM_INITIALIZE(3)NAME
sam_initialize - Initialize health checking
SYNOPSIS
#include <corosync/sam.h>
cs_error_t sam_initialize (int time_interval, sam_recovery_policy_t recovery_policy);
DESCRIPTION
The sam_initialize function is used to initialize health checking of a process.
Application can have only one instance of SAM. This function must be called before any other of SAM functions. It is recommended to ini-
tialize before the process begins any process initialization.
The time_interval parameter is a timeout in milliseconds before taking recovery action after having not received a healthcheck.
If time_interval parameter is zero, there is no time limit and no healthcheck must be sent by the process. In this operational mode, a
process failure will continue to execute the recovery policy.
The recovery_policy is defined as type:
typedef enum {
SAM_RECOVERY_POLICY_QUIT = 1,
SAM_RECOVERY_POLICY_RESTART = 2,
SAM_RECOVERY_POLICY_QUORUM = 0x08,
SAM_RECOVERY_POLICY_QUORUM_QUIT = SAM_RECOVERY_POLICY_QUORUM | SAM_RECOVERY_POLICY_QUIT,
SAM_RECOVERY_POLICY_QUORUM_RESTART = SAM_RECOVERY_POLICY_QUORUM | SAM_RECOVERY_POLICY_RESTART,
SAM_RECOVERY_POLICY_CMAP = 0x10,
SAM_RECOVERY_POLICY_CONFDB = 0x10,
} sam_recovery_policy_t;
where
SAM_RECOVERY_POLICY_QUIT
on failure, the process will terminate.
SAM_RECOVERY_POLICY_RESTART
on failure, the process will restart.
SAM_RECOVERY_POLICY_QUORUM
is not policy. Used only as flag meaning quorum integration
SAM_RECOVERY_POLICY_QUORUM_QUIT
same as SAM_RECOVERY_POLICY_QUIT but sam_start (3) will block until corosync becomes quorate and process will be terminated if quo-
rum is lost.
SAM_RECOVERY_POLICY_QUORUM_RESTART
same as SAM_RECOVERY_POLICY_RESTART but sam_start (3) will block until corosync becomes quorate and process will be restarted if
quorum is lost.
SAM_RECOVERY_POLICY_CMAP
is not policy. Used only as flag meaning cmap integration. It can be used with all previous policies. For backward compatibility,
SAM_RECOVERY_POLICY_CONFDB with same meaning as SAM_RECOVERY_POLICY_CMAP is also provided.
To perform event driven healthchecking, sam_register(3) and sam_start(3) functions must called. Event driven healthchecking causes the
duplicate standby process running the SAM serve rto periodically request healthchecks from the active process.
RETURN VALUE
This call return CS_OK value if successful, otherwise and error is returned.
ERRORS
CS_ERR_BAD_HANDLE
can happened in case of double initialization.
CS_ERR_INVALID_PARAM
recovery_policy has invalid value.
SEE ALSO sam_register(3), sam_start(3), sam_hc_callback_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 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
corosync Man Page 21/05/2010 SAM_INITIALIZE(3)