Free a previously obtained handle to an action in a condition in an entity
#include <ha/ham.h> int ham_action_handle_free(ham_action_t *ahdl);
libham
The ham_action_handle_free() function frees a handle (ahdl) associated with a given action in a condition in an entity. The function reclaims all storage associated with the handle.
The handle you pass as an argument (ahdl) must be obtained from ham_action_execute(), ham_action_restart(), ham_action_notify_pulse(), ham_action_notify_signal(), or ham_action_waitfor().
Once a handle is freed, it is no longer available to refer to any action. The ham_action_handle_free() call frees storage allocated for the handle, but does not remove the action itself, which is in the HAM.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
The ham_action_handle_free() function frees storage related only to the handle in the client — it doesn't remove the corresponding action.
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()