msg broadcast or non-block directives from interrupt context?

Martin Erik Werner martinerikwerner.aac at gmail.com
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
rtems_message_queue_broadcast.

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.
aacmicrotec.com/privacy-policy


More information about the users mailing list