ham_action_fail_notify_signal()
QNX SDP8.0High Availability Framework Developer's GuideDeveloper
Add a notify signal action to a an action, which executes if the corresponding action fails
Synopsis:
#include <ha/ham.h>
int ham_action_fail_notify_signal(
                ham_action_t *ahdl,
                const char *aname,
                int reserved,
                pid_t topid,
                int signum,
                int code,
                int value,
                unsigned flags);
Arguments:
- ahdl
 - The targeted HAM action handle to which the action-fail item is added.
 - aname
 - The action-fail item to add.
 - reserved
 - Set this argument to 0.
 - topid
 - The process ID of the targeted process.
 - signum
 - Signum specifies the signal to deliver.
 - code
 - The code of the signal to deliver.
 - value
 - The value of the signal to deliver.
 - flags
 - Currently not used.
 
Library:
libham
Description:
The ham_action_fail_notify_signal() function adds an action-fail item (aname) to the specified action. The action will deliver a signal specified by signum to the specified pid with code specified in code and value given by value.
The handle (ahdl) is obtained either:
- 
            from one of the ham_action*() functions to add actions
            
or:
 - by calling any of the ham_action_handle() functions to request a handle to a specific action.
 
The action is executed when the corresponding action that it is associated with, fails.
Currently, there are no flags defined.
Returns:
- 0
 - Success.
 - -1
 - An error occurred (errno is set).
 
Errors:
- EBADF
 - Couldn't connect to the HAM.
 - EEXIST
 - The aname name already exists for the specified ahdl action.
 - 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:The combined name length of an entity, condition, or action is also limited by _POSIX_PATH_MAX.
 - ENOENT
 - There's no entity or condition specified by the given handle (ahdl).
 - 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:
| Safety: | |
|---|---|
| Cancellation point | No | 
| Signal handler | No | 
| Thread | Yes | 
Page updated: 
