Experimental Physics and Industrial Control System
Hi,
We ran into some trouble when sending small arrays (64 bit total size)
at high rate from an IOC.
Background: Our timing card generates 64 bit timestamps. When these are
being treated as a value, the only way to implement them in the IOC
database (<=3.15) is as an array of two 32bit elements.
With the help of Mark Rivers (who was adding configurable queuing for
arrays to ASYN) we manged to fix the event leak between driver and
database. Now we're hitting the leak between database and the rsrv CA
server: updates to arrays (and strings) are put in the event queue by
reference, so all queue entries are pointing to the same array instance
and wrong data is being shipped to the client without any hint that the
data is wrong.
Looking for a minimally invasive fix...
Would you think it is possible and a good idea to base the queuing type
decision (by value or by reference) on the size instead of the DBF type,
so that arrays <= 64 bit total length (or maybe a configurable value)
are put in the queue by value?
That would solve our issue, and not create too much exceptionalism, right?
Cheers and Happy Easter,
~Ralph
- Replies:
- Re: Small arrays in rsrv Michael Davidsaver
- Navigate by Date:
- Prev:
Re: variable-length-pCAS task Matej Sekoranja
- Next:
Re: Small arrays in rsrv Michael Davidsaver
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: variable-length-pCAS task Matej Sekoranja
- Next:
Re: Small arrays in rsrv Michael Davidsaver
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024