"too many" vs "unsatisfied" status from msg send

Martin Erik Werner martinerikwerner at gmail.com
Thu Jan 16 20:31:06 UTC 2020


Hi,

In the documentation for rtems_message_queue_{send,urgent} there are
two limit-related statuses:

* - ``RTEMS_UNSATISFIED``         
  - out of message buffers        
* - ``RTEMS_TOO_MANY``            
  - queue's limit has been reached

What is the difference between these?

Superficially I would guess that they both indicate that the queue
already has the maximum amount of messages pending?

>From a brief look at the code, my guess would be that RTEMS_UNSATISFIED
cannot be returned by this function?

While digging in the code, I also noticed that if
RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND is set, the
_CORE_message_queue_Submit() function can return
STATUS_MESSAGE_QUEUE_WAIT_IN_ISR which translates to
RTEMS_INTERNAL_ERROR, is this status deliberately omitted from the
documentation for rtems_message_queue_{send,urgent}?

-- 
Martin Erik Werner <martinerikwerner at gmail.com>



More information about the devel mailing list