From 6c5640131fca82624f72b2bd33b5b5f46156626e Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Sun, 12 Nov 2017 14:34:48 +1100 Subject: c-user: Fix index locations. Update #3229. --- c-user/signal_manager.rst | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'c-user/signal_manager.rst') diff --git a/c-user/signal_manager.rst b/c-user/signal_manager.rst index 2bc9709..6b74854 100644 --- a/c-user/signal_manager.rst +++ b/c-user/signal_manager.rst @@ -4,11 +4,11 @@ .. COMMENT: On-Line Applications Research Corporation (OAR). .. COMMENT: All rights reserved. +.. index:: signals + Signal Manager ************** -.. index:: signals - Introduction ============ @@ -22,11 +22,12 @@ communication. The directives provided by the signal manager are: Background ========== -Signal Manager Definitions --------------------------- .. index:: asynchronous signal routine .. index:: ASR +Signal Manager Definitions +-------------------------- + The signal manager allows a task to optionally define an asynchronous signal routine (ASR). An ASR is to a task what an ISR is to an application's set of tasks. When the processor is interrupted, the execution of an application is @@ -46,11 +47,12 @@ A signal set is posted when it is directed (or sent) to a task. A pending signal is a signal that has been sent to a task with a valid ASR, but has not been processed by that task's ASR. -A Comparison of ASRs and ISRs ------------------------------ .. index:: ASR vs. ISR .. index:: ISR vs. ASR +A Comparison of ASRs and ISRs +----------------------------- + The format of an ASR is similar to that of an ISR with the following exceptions: @@ -66,9 +68,10 @@ exceptions: - An ASR has a task mode which can be different from that of the task. An ISR does not execute as a task and, as a result, does not have a task mode. +.. index:: signal set, building + Building a Signal Set --------------------- -.. index:: signal set, building A signal set is built by a bitwise OR of the desired signals. The set of valid signals is ``RTEMS_SIGNAL_0`` through ``RTEMS_SIGNAL_31``. If a signal is not @@ -82,9 +85,10 @@ consisting of ``RTEMS_SIGNAL_6``, ``RTEMS_SIGNAL_15``, and ``RTEMS_SIGNAL_31``. The signal parameter provided to the ``rtems_signal_send`` directive should be ``RTEMS_SIGNAL_6 | RTEMS_SIGNAL_15 | RTEMS_SIGNAL_31``. +.. index:: ASR mode, building + Building an ASR Mode -------------------- -.. index:: ASR mode, building In general, an ASR's mode is built by a bitwise OR of the desired mode components. The set of valid mode components is the same as those allowed with @@ -175,6 +179,8 @@ sending the same signal multiple times to a task (without any intermediate signal processing occurring for the task), has the same result as sending that signal to that task once. +.. index:: rtems_asr + Processing an ASR ----------------- @@ -185,8 +191,6 @@ and ISRs is limited to the meaning of the single argument passed to an ASR. The ASR should have the following calling sequence and adhere to C calling conventions: -.. index:: rtems_asr - .. code-block:: c rtems_asr user_routine( @@ -208,13 +212,13 @@ sequence, related constants, usage, and status codes. \clearpage .. _rtems_signal_catch: - -SIGNAL_CATCH - Establish an ASR -------------------------------- .. index:: establish an ASR .. index:: install an ASR .. index:: rtems_signal_catch +SIGNAL_CATCH - Establish an ASR +------------------------------- + CALLING SEQUENCE: .. code-block:: c @@ -269,11 +273,11 @@ NOTES: \clearpage .. _rtems_signal_send: +.. index:: send signal set +.. index:: rtems_signal_send SIGNAL_SEND - Send signal set to a task --------------------------------------- -.. index:: send signal set -.. index:: rtems_signal_send CALLING SEQUENCE: .. code-block:: c -- cgit v1.2.3