[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