[RTEMS Project] #3986: 4.10: CORE_message_queue_Send timeout failure?
RTEMS trac
trac at rtems.org
Tue May 26 14:44:36 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 | Resolution:
Keywords: | Blocked By:
Blocking: |
--------------------------+---------------------------
Description changed by Gedare Bloom:
Old description:
> 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.
New description:
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: Block on send() with timeout when mq full.
--
--
Ticket URL: <http://devel.rtems.org/ticket/3986#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list