summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-01-20 09:25:41 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-03 06:26:37 +0100
commit58b444f2fd596d3258c88ff598a5835613e2623a (patch)
tree4a534c8d67bab1590aa7767717cab88867225f51
parentspec: Move scheduler API to own group (diff)
downloadrtems-central-58b444f2fd596d3258c88ff598a5835613e2623a.tar.bz2
spec: Clarify rtems_event_receive()
-rw-r--r--spec/rtems/event/if/receive.yml33
1 files changed, 19 insertions, 14 deletions
diff --git a/spec/rtems/event/if/receive.yml b/spec/rtems/event/if/receive.yml
index 8e502972..9f3018c1 100644
--- a/spec/rtems/event/if/receive.yml
+++ b/spec/rtems/event/if/receive.yml
@@ -2,7 +2,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Receives or gets an event set from the calling task.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
default:
@@ -23,26 +23,31 @@ description: |
* receive events.
To **get the pending events** use the constant ${pending-events:/name} for
- the ${.:/params[0]/name} parameter. The pending events are returned to
- the calling task but the event set of the task is left unaltered. The
- ${.:/params[1]/name} and ${.:/params[2]/name} parameters are ignored
- in this case. The directive returns immediately and does not block.
+ the ${.:/params[0]/name} parameter. The pending events are returned to the
+ calling task but the event set of the calling task is left unaltered. The
+ ${.:/params[1]/name} and ${.:/params[2]/name} parameters are ignored in this
+ case. The directive returns immediately and does not block.
To **receive events** you have to define an input event condition and some
- options. The **option set** specified in ${.:/params[1]/name} defines
+ options.
- * if the task will wait or poll for the events, and
+ The **option set** specified in ${.:/params[1]/name} is built through a
+ *bitwise or* of the option constants described below. Not all combinations
+ of options are allowed. Some options are mutually exclusive. If mutually
+ exclusive options are combined, the behaviour is undefined. Options not
+ mentioned below are not evaluated by this directive and have no effect.
+ Default options can be selected by using the ${../../option/if/default:/name}
+ constant. The option set defines
- * if the task wants to receive all or any of the input events.
+ * if the calling task will wait or poll for the events, and
- The option set is built through a *bitwise or* of the option constants
- described below.
+ * if the calling task wants to receive all or any of the input events.
- The task can **wait** or **poll** for the events.
+ The calling task can **wait** or **poll** for the events.
* **Waiting** for events is the default and can be emphasized through the use
of the ${../../option/if/wait:/name} option. The ${.:/params[2]/name}
- parameter defines how long the task is willing to wait. Use
+ parameter defines how long the calling task is willing to wait. Use
${../../type/if/no-timeout:/name} to wait potentially forever, otherwise
set a timeout interval in clock ticks.
@@ -50,8 +55,8 @@ description: |
${../../option/if/no-wait:/name} option. If this option is defined, then
the ${.:/params[2]/name} parameter is ignored.
- The task can receive **all** or **any** of the input events specified in
- ${.:/params[0]/name}.
+ The calling task can receive **all** or **any** of the input events specified
+ in ${.:/params[0]/name}.
* Receiving **all** input events is the default and can be emphasized through
the use of the ${../../option/if/event-all:/name} option.