Xenomai API
2.6.5
|
Typedefs | |
typedef void(* | rtdm_nrtsig_handler_t) (rtdm_nrtsig_t nrt_sig, void *arg) |
Non-real-time signal handler. More... | |
Functions | |
int | rtdm_nrtsig_init (rtdm_nrtsig_t *nrt_sig, rtdm_nrtsig_handler_t handler, void *arg) |
Register a non-real-time signal handler. More... | |
void | rtdm_nrtsig_destroy (rtdm_nrtsig_t *nrt_sig) |
Release a non-realtime signal handler. More... | |
void | rtdm_nrtsig_pend (rtdm_nrtsig_t *nrt_sig) |
Trigger non-real-time signal. More... | |
These services provide a mechanism to request the execution of a specified handler in non-real-time context. The triggering can safely be performed in real-time context without suffering from unknown delays. The handler execution will be deferred until the next time the real-time subsystem releases the CPU to the non-real-time part.
typedef void(* rtdm_nrtsig_handler_t) (rtdm_nrtsig_t nrt_sig, void *arg) |
Non-real-time signal handler.
[in] | nrt_sig | Signal handle as returned by rtdm_nrtsig_init() |
[in] | arg | Argument as passed to rtdm_nrtsig_init() |
void rtdm_nrtsig_destroy | ( | rtdm_nrtsig_t * | nrt_sig | ) |
Release a non-realtime signal handler.
[in,out] | nrt_sig | Signal handle |
Environments:
This service can be called from:
Rescheduling: never.
int rtdm_nrtsig_init | ( | rtdm_nrtsig_t * | nrt_sig, |
rtdm_nrtsig_handler_t | handler, | ||
void * | arg | ||
) |
Register a non-real-time signal handler.
[in,out] | nrt_sig | Signal handle |
[in] | handler | Non-real-time signal handler |
[in] | arg | Custom argument passed to handler() on each invocation |
Environments:
This service can be called from:
Rescheduling: never.
void rtdm_nrtsig_pend | ( | rtdm_nrtsig_t * | nrt_sig | ) |
Trigger non-real-time signal.
[in,out] | nrt_sig | Signal handle |
Environments:
This service can be called from:
Rescheduling: never in real-time context, possible in non-real-time environments.