[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