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