ham_action_heartbeat_healthy()

Сбросить состояние контрольного сигнала и установить состояние по умолчанию

Прототип:

#include <ha/ham.h>
ham_action_t * ham_action_heartbeat_healthy( ham_condition_t *chdl,
const char *aname,
unsigned flags );

Аргументы:

chdl
Дескриптор условия HAM.
aname
Действие HAM.
flags
Флаги:
HREARMAFTERRESTART
Указывает, что действие должно быть автоматически перезапущено после перезапуска объекта, которому оно принадлежит. По умолчанию данный флаг отключен — действия автоматически завершаются при перезапуске объекта. Обратите внимание, что если условие, которому принадлежит данное действие, удаляется после перезапуска, это действие также будет удалено, независимо от значения данного флага.

Библиотека:

libham

Описание:

Следует использовать эту функцию, чтобы сбросить состояние контрольного сигнала на состояние по умолчанию, чтобы HAM мог возобновить мониторинг. Предполагая, что клиент пропустил один или несколько контрольных сигналов (т. е. условие CONDHBEATMISSEDLOW | CONDHBEATMISSEDHIGH истинно) и что восстановление было выполнено, вызов ham_action_heartbeat_healthy() дает указание HAM снова отслеживать клиента.

Возвращаемое значение:

Адрес
Дескриптор действия для условия.
NULL
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Не удалось подключиться к HAM.
EINVAL
Имя aname некорректно (например, содержит символ /) или имеет значение NULL. Не удалось подключиться к HAM. Это происходит, когда процесс, открывший соединение (используя ham_connect()), и процесс, вызывающий ham_action_execute(), не совпадают.
ENAMETOOLONG
Указанное имя (в aname) слишком длинное, т.е. оно превышает _POSIX_PATH_MAX (определено в <limits.h>). Обратите внимание, что общая длина имени объекта/условия/действия также ограничена _POSIX_PATH_MAX.
ENOMEM
Недостаточно памяти для создания нового дескриптора.

В дополнение к вышеуказанным ошибкам HAM возвращает любую ошибку, с которой он сталкивается при обслуживании данного запроса.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

ham_action_notify_pulse(), ham_action_notify_signal(), ham_action_remove(), ham_action_restart(), ham_action_waitfor(), ham_condition(), ham_condition_handle()




Предыдущий раздел: Менеджер высокой готовности (HAM)