Non-blocking message_queue_send

Joel Sherrill joel at
Fri Feb 12 16:10:09 UTC 2016

On Fri, Feb 12, 2016 at 9:40 AM, Isaac Gutekunst <isaac.gutekunst at>

> Hi All,
> I have an application where having a non-blocking rtems_message_queue_send
> would be useful.
> I will have multiple producers and a single consumer task wise, so using
> rtems_message_queue_get_number_pending as method to determine if the next
> send will succeed won't work.
> Has anyone had a similar problem before?
> I'm thinking I can wrap all calls to this message queue with a counting
> semaphore and use that to arbitrate. Any other suggestions?
rtems_message_queue_send() does not block at all. Either the message can be
enqueued or you get a message queue full error.

POSIX message queues can optionally block on the mq_send() but not Classic
API message queues.

Am I missing your use case? Or did you misinterpret something?


> Isaac
> _______________________________________________
> users mailing list
> users at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list