diff options
author | Chris Johns <chrisj@rtems.org> | 2016-11-08 15:26:50 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2016-11-08 15:28:32 +1100 |
commit | 53bb72e99669750ecbd7a418047711a21e32ac40 (patch) | |
tree | b0cd10cb72041c45696ae9540c406b83ed1e62cb /c-user/signal_manager.rst | |
parent | pdf: Format lists for directives to sit on the next line. (diff) | |
download | rtems-docs-53bb72e99669750ecbd7a418047711a21e32ac40.tar.bz2 |
c-user: Format the directives as descriptions.
This change combined with the element list change in latex generates
a much better looking PDF.
Add a page break before each directive to like th previous versions of the
manuals.
Diffstat (limited to 'c-user/signal_manager.rst')
-rw-r--r-- | c-user/signal_manager.rst | 195 |
1 files changed, 97 insertions, 98 deletions
diff --git a/c-user/signal_manager.rst b/c-user/signal_manager.rst index e9c1d6e..d6b253d 100644 --- a/c-user/signal_manager.rst +++ b/c-user/signal_manager.rst @@ -203,117 +203,116 @@ This section details the signal manager's directives. A subsection is dedicated to each of this manager's directives and describes the calling sequence, related constants, usage, and status codes. +.. raw:: latex + + \clearpage + .. _rtems_signal_catch: SIGNAL_CATCH - Establish an ASR ------------------------------- .. index:: establish an ASR .. index:: install an ASR - -**CALLING SEQUENCE:** - .. index:: rtems_signal_catch -.. code-block:: c - - rtems_status_code rtems_signal_catch( - rtems_asr_entry asr_handler, - rtems_mode mode - ); - -**DIRECTIVE STATUS CODES:** - -.. list-table:: - :class: rtems-table - - * - ``RTEMS_SUCCESSFUL`` - - always successful - -**DESCRIPTION:** - -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. - -**NOTES:** - -This directive will not cause the calling task to be preempted. - -The following task mode constants are defined by RTEMS: - -.. list-table:: - :class: rtems-table - - * - ``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 +CALLING SEQUENCE: + .. code-block:: c + + rtems_status_code rtems_signal_catch( + rtems_asr_entry asr_handler, + rtems_mode mode + ); + +DIRECTIVE STATUS CODES: + .. list-table:: + :class: rtems-table + + * - ``RTEMS_SUCCESSFUL`` + - always successful + +DESCRIPTION: + 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. + +NOTES: + This directive will not cause the calling task to be preempted. + + The following task mode constants are defined by RTEMS: + + .. list-table:: + :class: rtems-table + + * - ``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 + +.. raw:: latex + + \clearpage .. _rtems_signal_send: SIGNAL_SEND - Send signal set to a task --------------------------------------- .. index:: send signal set - -**CALLING SEQUENCE:** - .. index:: rtems_signal_send -.. code-block:: c - - rtems_status_code rtems_signal_send( - rtems_id id, - rtems_signal_set signal_set - ); - -**DIRECTIVE STATUS CODES:** - -.. list-table:: - :class: rtems-table - - * - ``RTEMS_SUCCESSFUL`` - - signal sent successfully - * - ``RTEMS_INVALID_ID`` - - task id invalid - * - ``RTEMS_INVALID_NUMBER`` - - empty signal set - * - ``RTEMS_NOT_DEFINED`` - - ASR invalid - -**DESCRIPTION:** - -This directive sends a signal set to the task specified in id. The signal_set -parameter contains the signal set to be sent to the task. - -If a caller sends a signal set to a task with an invalid ASR, then an error -code is returned to the caller. If a caller sends a signal set to a task whose -ASR is valid but disabled, then the signal set will be caught and left pending -for the ASR to process when it is enabled. If a caller sends a signal set to a -task with an ASR that is both valid and enabled, then the signal set is caught -and the ASR will execute the next time the task is dispatched to run. - -**NOTES:** - -Sending a signal set to a task has no effect on that task's state. If a signal -set is sent to a blocked task, then the task will remain blocked and the -signals will be processed when the task becomes the running task. - -Sending a signal set to a global task which does not reside on the local node -will generate a request telling the remote node to send the signal set to the -specified task. +CALLING SEQUENCE: + .. code-block:: c + + rtems_status_code rtems_signal_send( + rtems_id id, + rtems_signal_set signal_set + ); + +DIRECTIVE STATUS CODES: + .. list-table:: + :class: rtems-table + + * - ``RTEMS_SUCCESSFUL`` + - signal sent successfully + * - ``RTEMS_INVALID_ID`` + - task id invalid + * - ``RTEMS_INVALID_NUMBER`` + - empty signal set + * - ``RTEMS_NOT_DEFINED`` + - ASR invalid + +DESCRIPTION: + This directive sends a signal set to the task specified in id. The + signal_set parameter contains the signal set to be sent to the task. + + If a caller sends a signal set to a task with an invalid ASR, then an error + code is returned to the caller. If a caller sends a signal set to a task + whose ASR is valid but disabled, then the signal set will be caught and + left pending for the ASR to process when it is enabled. If a caller sends a + signal set to a task with an ASR that is both valid and enabled, then the + signal set is caught and the ASR will execute the next time the task is + dispatched to run. + +NOTES: + Sending a signal set to a task has no effect on that task's state. If a + signal set is sent to a blocked task, then the task will remain blocked and + the signals will be processed when the task becomes the running task. + + Sending a signal set to a global task which does not reside on the local + node will generate a request telling the remote node to send the signal set + to the specified task. |