msg broadcast or non-block directives from interrupt context?

Martin Erik Werner martinerikwerner.aac at
Mon May 27 17:17:37 UTC 2019

In the C-user documentation, section 8.3.2. "Directives Allowed from an
ISR", rtems_message_queue_{send,urgent} are marked as allowed, but not

What is the reason for its omission there? Is it a "soft disallow" due
to the time taken being variable and potentially long based on the
amount of listeners (compared to normal send), or is it due to some
other fundamental property that makes it a "definite disallow"?

On the same subject, are non-blocking directives (e.g.
rtems_semaphore_obtain + RTEMS_NO_WAIT) disallowed? Or is it only the
blocking versions of these directives that are to be avoided?

Martin Erik Werner
Software Engineer | ÅAC Microtec AB | Clyde Space Ltd.

More information about the users mailing list