[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