Остановить HAM
#include <ha/ham.h>int ham_stop( void );int ham_stop_nd( int nd );int ham_stop_node( const char *nodename );
0
или ND_LOCAL_NODE
— для локального узла.NULL
, параметр будет проигнорирован.libham
Функция ham_stop() сообщает HAM о прекращении работы. Функции ham_stop_nd() и ham_stop_node() используются для завершения удаленного . Это единственно верные способы остановить HAM.
nd, указанный для ham_stop_nd(), является идентификатором удаленного узла во время вызова ham_stop_nd().
![]() | Поскольку идентификаторы узлов являются временными объектами, необходимо получить значение для nd непосредственно перед вызовом, используя netmgr_strtond() или другую функцию, которая преобразует nodename в идентификаторы узлов. |
Функция ham_stop_node() принимает в качестве параметра полное имя узла (FQNN). Функция ham_stop_node() используется, когда имя узла nodename используется для указания удаленного HAM вместо идентификатора узла (nd).
Поскольку HAM и его «клон» Дублёр (Guardian) наблюдают друг за другом и возрождаются в случае сбоя другого, HAM должен сначала завершить работу Дублёра (Guardian), прежде чем он завершит свою работу.
В дополнение к вышеуказанным ошибкам HAM возвращает любую ошибку, с которой он сталкивается при обслуживании запроса на останов.
ЗОСРВ «Нейтрино»
Предыдущий раздел: Менеджер высокой готовности (HAM)