[RTEMS Project] #3791: POSIX Message Queue thread release order is not priority based
RTEMS trac
trac at rtems.org
Thu Aug 29 16:44:50 UTC 2019
#3791: POSIX Message Queue thread release order is not priority based
-------------------------+-------------------------------------------------
Reporter: Lou Woods | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone:
Component: posix | Version: 5
Severity: normal | Keywords: mq_receive mq_timedreceive mq_send
| mq_timedsend
Blocked By: | Blocking:
-------------------------+-------------------------------------------------
Currently the POSIX Message Queue implementation will release threads
blocked on all waiting calls in FIFO order. This is counter to the Open
Group specification.
mq_receive() Description Paragraph 4:
If more than one thread is waiting to receive a message when a message
arrives at an empty queue and the Priority Scheduling option is supported,
then the thread of highest priority that has been waiting the longest
shall be selected to receive the message.
Source:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/mq_receive.html
Behavior tested on
RTEMS 5 master
xilinx_zynq_a9_qemu BSP
Tests demonstrating the behavior and a fix will be sent to the devel
mailing list.
--
Ticket URL: <http://devel.rtems.org/ticket/3791>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list