rtems_status_code rtems_signal_catch( rtems_asr_entry asr_handler, rtems_mode mode );
RTEMS_SUCCESSFUL
- always successful
This directive establishes an asynchronous signal routine (ASR) for the calling task. The asr_handler parameter specifies the entry point of the ASR. If asr_handler is NULL, the ASR for the calling task is invalidated and all pending signals are cleared. Any signals sent to a task with an invalid ASR are discarded. The mode parameter specifies the execution mode for the ASR. This execution mode supersedes the task's execution mode while the ASR is executing.
This directive will not cause the calling task to be preempted.
The following task mode constants are defined by RTEMS:
RTEMS_PREEMPT
is masked by
RTEMS_PREEMPT_MASK
and enables preemption
RTEMS_NO_PREEMPT
is masked by
RTEMS_PREEMPT_MASK
and disables preemption
RTEMS_NO_TIMESLICE
is masked by
RTEMS_TIMESLICE_MASK
and disables timeslicing
RTEMS_TIMESLICE
is masked by
RTEMS_TIMESLICE_MASK
and enables timeslicing
RTEMS_ASR
is masked by
RTEMS_ASR_MASK
and enables ASR processing
RTEMS_NO_ASR
is masked by
RTEMS_ASR_MASK
and disables ASR processing
RTEMS_INTERRUPT_LEVEL(0)
is masked by
RTEMS_INTERRUPT_MASK
and enables all interrupts
RTEMS_INTERRUPT_LEVEL(n)
is masked by
RTEMS_INTERRUPT_MASK
and sets interrupts level n
Copyright © 1988-2008 OAR Corporation