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 nd,
pid_t topid,
int signum,
int code,
int value,
unsigned flags);
int ham_action_fail_notify_signal_node(
ham_action_t *ahdl,
const char *aname,
const char *nodename,
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.
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:
QNX Neutrino
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
No |
Thread |
Yes |