2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 <2020> 2021 2022 2023 2024 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 <2020> 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RTEMS/osdMessageQueue.c |
From: | "Johnson, Andrew N. via Core-talk" <core-talk at aps.anl.gov> |
To: | EPICS core-talk <core-talk at aps.anl.gov> |
Date: | Mon, 25 May 2020 17:49:46 +0000 |
tl;dr: I propose that we delete the RTEMS implementation of osdMessageQueue before making the 7.0.3.2 release, it has bugs which the default implementation doesn’t show.
The long version:
So far every time I have run this test the numSent counter has always come back as 420 instead of 500. The fastSender() code looks like this:
The epicsMessageQueueSendWithTimeout() routine must sometimes be returning an error (non-zero value) even though it has successfully queued the message; I confirmed that by incrementing a local numFailed counter on the else branch, which always
counted to 580. This was the output from a normal run on linux, which is about what I would expect:
Instead of trying to fix the RTEMS code I propose that we delete the RTEMS implementation completely, causing RTEMS to use the default implementation which gives me these test results when run on qemu:
Any objections? Discussion?
- Andrew
--
Complexity comes for free, simplicity you have to work for.
|