These services provide a mechanism to request the execution of a specified handler in non-real-time context.
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.
◆ rtdm_nrtsig_handler_t
typedef void(* rtdm_nrtsig_handler_t) (rtdm_nrtsig_t *nrt_sig, void *arg) |
Non-real-time signal handler.
- Parameters
-
- Note
- The signal handler will run in soft-IRQ context of the non-real-time subsystem. Note the implications of this context, e.g. no invocation of blocking operations.
◆ rtdm_nrtsig_destroy()
void rtdm_nrtsig_destroy |
( |
rtdm_nrtsig_t * |
nrt_sig | ) |
|
Release a non-realtime signal handler
- Parameters
-
[in,out] | nrt_sig | Signal handle |
- Tags
- task-unrestricted
◆ rtdm_nrtsig_init()
Register a non-real-time signal handler
- Parameters
-
[in,out] | nrt_sig | Signal handle |
[in] | handler | Non-real-time signal handler |
[in] | arg | Custom argument passed to handler() on each invocation |
- Returns
- 0 on success, otherwise:
- -EAGAIN is returned if no free signal slot is available.
- Tags
- task-unrestricted
◆ rtdm_nrtsig_pend()
void rtdm_nrtsig_pend |
( |
rtdm_nrtsig_t * |
nrt_sig | ) |
|
Trigger non-real-time signal
- Parameters
-
[in,out] | nrt_sig | Signal handle |
- Tags
- unrestricted
◆ rtdm_schedule_nrt_work()
void rtdm_schedule_nrt_work |
( |
struct work_struct * |
lostage_work | ) |
|
Put a work task in Linux non real-time global workqueue from primary mode.
- Parameters
-