[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
to include the detailed note about non-atomicity of broadcast.

This file is selectively added, other changes in generated files are

Update #4804.
 c-user/message/directives.rst | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/c-user/message/directives.rst b/c-
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
 number of invocations of :ref:`InterfaceRtemsMessageQueueSend`.
+:ref:`InterfaceRtemsMessageQueueBroadcast` unblocks :term:`receivers
+<receiver>` in a non-atomic way. Meaning, it will not only
+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
+This may lead to infinite unblocking loops.
 .. rubric:: CONSTRAINTS:
 The following constraints apply to this directive:

More information about the devel mailing list