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.
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 |