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-2004 OAR Corporation