ham_action_handle_free()

Освободить дескриптор действия для условия объекта

Прототип:

#include <ha/ham.h>
int ham_action_handle_free( ham_action_t *ahdl );

Аргументы:

ahdl
Дескриптор действия HAM.

Библиотека:

libham

Описание:

Функция ham_action_handle_free() освобождает дескриптор действия (ahdl), связанный с данным действием для условия объекта. Функция восстанавливает всю область памяти, связанную с дескриптором.

Передаваемый дескриптор (ahdl) должен быть получен из ham_action_execute(), ham_action_restart(), ham_action_notify_pulse(), ham_action_notify_signal() или ham_action_waitfor().

Как только дескриптор освобождается, он более не может указывать на какое-либо действие. Вызов ham_action_handle_free() освобождает память, выделенную для дескриптора, но не удаляет само действие, которое находится в HAM.

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

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EINVAL
Некорректный дескриптор.

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

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

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

Предостережения:

Функция ham_action_handle_free() освобождает память, связанную только с дескриптором в клиенте — она не удаляет соответствующее действие.

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

ham_action_execute(), ham_action_handle(), ham_action_restart(), ham_action_notify_pulse(), ham_action_notify_signal(), ham_action_waitfor(), ham_condition_handle_free(), ham_entity_handle_free()




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