[RTEMS Project] #3986: 4.10: CORE_message_queue_Send timeout failure?

RTEMS trac trac at rtems.org
Tue May 26 14:41:20 UTC 2020


#3986: 4.10: CORE_message_queue_Send timeout failure?
---------------------------+--------------------------
  Reporter:  Gedare Bloom  |      Owner:  Gedare Bloom
      Type:  defect        |     Status:  assigned
  Priority:  normal        |  Milestone:  4.10.3
 Component:  score         |    Version:  4.10
  Severity:  normal        |   Keywords:
Blocked By:                |   Blocking:
---------------------------+--------------------------
 EPICS developers report:
   I notice that the only internal usage of _CORE_message_queue_Send() in
 RTEMS is in rtems_message_queue_send(), where it never blocks (wait=0).
 So this might be a bug in the wait=1 case.

 https://git.rtems.org/rtems/tree/cpukit/score/src/coremsgsubmit.c?h=4.10#n132

 By manual code inspection, I think POSIX mq_timedsend goes through the
 wait path. But there is no wait path for classic message queues.

 The question also arises whether this use case should be supported for
 classic mqs. The design pattern for blocking send when you have async send
 and blocking recv is to use an ACK from the receiver to implement your own
 rendezvous. However it doesn't abort the send in case of a timeout, so
 there might be something worth adding.

--
Ticket URL: <http://devel.rtems.org/ticket/3986>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list