procedure Signal_Catch ( ASR_Handler : in RTEMS.ASR_Handler; Mode_Set : in RTEMS.Mode; Result : out RTEMS.Status_Codes );
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