[PATCH rtems-docs 2/2] c-user/message/directives.rst: Regen from spec
Martin Erik Werner
martinerikwerner at gmail.com
Sat Feb 11 16:27:30 UTC 2023
Regenerate message queue directives from the rtems-central spec in
order
to include the detailed note about non-atomicity of broadcast.
This file is selectively added, other changes in generated files are
omitted.
Update #4804.
---
c-user/message/directives.rst | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/c-user/message/directives.rst b/c-
user/message/directives.rst
index a13e4c7..ac53ec4 100644
--- a/c-user/message/directives.rst
+++ b/c-user/message/directives.rst
@@ -758,6 +758,14 @@ The execution time of this directive is directly
related to the number of tasks
waiting on the message queue, although it is more efficient than the
equivalent
number of invocations of :ref:`InterfaceRtemsMessageQueueSend`.
+:ref:`InterfaceRtemsMessageQueueBroadcast` unblocks :term:`receivers
+<receiver>` in a non-atomic way. Meaning, it will not only
:term:`unblock`
+those :term:`receivers <receiver>` it finds waiting at the queue when
+:ref:`InterfaceRtemsMessageQueueBroadcast` is invoked but also any new
+:term:`receivers <receiver>` which start waiting for messages after
+:ref:`InterfaceRtemsMessageQueueBroadcast` is invoked and before it
returns.
+This may lead to infinite unblocking loops.
+
.. rubric:: CONSTRAINTS:
The following constraints apply to this directive:
--
2.30.2
More information about the devel
mailing list