ham_action_heartbeat_healthy()

Reset a heartbeat's state to healthy

Synopsis:

#include <ha/ham.h>

ham_action_t *ham_action_heartbeat_healthy(
                 ham_condition_t *chdl,
                 const char *aname,
                 unsigned flags)

Arguments:

chdl
The HAM condition handle.
aname
The name of the action.
flags
The flag indicating how the function will be rearmed. See below.

Library:

libham

Description:

You use this function to reset the state of a heartbeat to healthy so that HAM can resume monitoring. Assuming that the client missed one or more heartbeats (i.e., the condition CONDHBEATMISSEDLOW | CONDHBEATMISSEDHIGH is true), and that a recovery has been performed, the ham_action_heartbeat_healthy() call instructs HAM to monitor the client again.

The following flag is currently defined:

HREARMAFTERRESTART
Indicates that the action is to be automatically rearmed after the entity that it belongs to is restarted. By default, this flag is disabled — actions automatically get pruned across restarts of the entity. Note that if the condition that this action belongs to is pruned after a restart, this action will also be removed, regardless of the value of this flag.

Returns:

A valid handle to an action to a condition, or NULL if an error occurred (errno is set).

Errors:

EBADF
Couldn't connect to the HAM.
EEXIST
This action already exists in the specified condition.
EINVAL
The name given in aname is invalid (e.g., it contains the / character) or is NULL.
ENAMETOOLONG
The name given (in aname) is too long, i.e., it exceeds _POSIX_PATH_MAX (defined in <limits.h>). Note that the combined length of an entity/condition/action name is also limited by _POSIX_PATH_MAX.
ENOMEM
Not enough memory to create a new handle.

In addition to the above errors, the HAM returns any error it encounters while servicing this request.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes