<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>
<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">
<p class="details" style="font-style: italic; color: #626168;">
<a href="https://gitlab.rtems.org/martinerikwerner">Martin Werner</a> created a merge request: <a href="https://gitlab.rtems.org/rtems/docs/rtems-docs/-/merge_requests/196">!196</a>
</p>
<div class="branch">
Project:Branches: martinerikwerner/rtems-docs:msg-broadcast-is-non-atomic to rtems/docs/rtems-docs:main
</div>
<div class="author">
Author: Martin Werner
</div>
<div class="assignee">
Assignees:
</div>
<div class="reviewer">
Reviewers:
</div>
<div class="approvers">
</div>
<div class="md gl-mt-5" style="position: relative; z-index: 1; color: #3a383f; word-wrap: break-word; margin-top: 1rem;">
<h2 dir="auto" style="margin-top: 0; margin-bottom: 10px;" align="initial">
<a href="#summary" aria-hidden="true" class="anchor" id="user-content-summary" style="margin-top: 0; margin-left: -20px; text-decoration: none; outline: none; position: absolute; width: 20px;"></a>Summary</h2>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><strong style="font-weight: 600; margin-top: 0;">c-user/message/operations.md: Don't claim atomic</strong></p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">rtems_message_queue_broadcast() is not atomic, since it unblocks each
task after copying the message into their message buffer. So remove the
wording indicating that it is atomic.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">Also reword the overall description slightly with "each" instead of
"every", and add "until no more tasks remain", in order to further hint
at the non-atomicity of the operation.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">(See <a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4804" data-reference-type="issue" data-original="https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4804" data-link="false" data-link-reference="true" data-issue="27388" data-project="26" data-iid="4804" data-namespace-path="rtems/rtos/rtems" data-project-path="rtems/rtos/rtems" data-issue-type="issue" data-container="body" data-placement="top" title="broadcasting message to single task with higher importance priority can generate multiple messages" class="gfm gfm-issue" style="margin-top: 0;">rtems/rtos/rtems#4804</a>)</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><strong style="font-weight: 600; margin-top: 0;">c-user/message/directives.md: Note non-atomicity</strong></p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">rtems_message_queue_broadcast() may, under certain circumstances, copy
the message to tasks which were not waiting on the message queue when
the broadcast started, and may copy the message multiple times to the
same task.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">This behaviour is, based on discussion in
<a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4804" data-reference-type="issue" data-original="https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4804" data-link="false" data-link-reference="true" data-issue="27388" data-project="26" data-iid="4804" data-namespace-path="rtems/rtos/rtems" data-project-path="rtems/rtos/rtems" data-issue-type="issue" data-container="body" data-placement="top" title="broadcasting message to single task with higher importance priority can generate multiple messages" class="gfm gfm-issue" style="margin-top: 0;">rtems/rtos/rtems#4804</a>, something that
might not change in the short term, so expose it in the user
documentation.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">The wording is copied with modifications from an existing internal
requirements note.</p>
<p dir="auto" style="color: #3a383f; margin: 0;" align="initial">The changes were auto-generated from rtems-central.</p>
</div>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #626168;">
—
<br>
<a href="https://gitlab.rtems.org/rtems/docs/rtems-docs/-/merge_requests/196">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.rtems.org">gitlab.rtems.org</a>. <a href="https://gitlab.rtems.org/-/sent_notifications/22b6caea18588dda99d46e8fee83ff8a/unsubscribe" target="_blank" rel="noopener noreferrer">Unsubscribe</a> from this thread · <a href="https://gitlab.rtems.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.rtems.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<span style="color: transparent; font-size: 0; display: none; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0;">
Notification message regarding https://gitlab.rtems.org/rtems/docs/rtems-docs/-/merge_requests/196 at 1760820014
</span>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Merge request","url":"https://gitlab.rtems.org/rtems/docs/rtems-docs/-/merge_requests/196"}}</script>
</p>
</div>
</body>
</html>