Experimental Physics and Industrial Control System
|
Subject: |
Erratum: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields |
From: |
Ralph Lange <[email protected]> |
To: |
EPICS Tech-Talk <[email protected]> |
Date: |
Mon, 2 May 2016 08:54:03 +0200 |
I got one important thing wrong.
On 01/05/2016 10:57, Ralph Lange wrote:
On 01/05/2016 09:55, Zhang, Dehong
wrote:
3.
does the CA server have its own buffers for each
field/broadcasts? Or it shares the same
memory locations with the records?
Here the answer seems to be "yes" for scaler fields,
BUT "no" for string or array fields
Correct.
Scalar fields are put in the per-client-queue as values, arrays
and strings are put in the queue as pointers.
does this mean that there is NO guarantee that
string/array fields will have the correct
time stamps?
Correct.
In the congestion case, i.e. when the array data in the record
gets updated before an older event is posted, the CA server will
send an update to the client that combines the old time stamp
(taken from the queue) with the newer data (taken from the
record).
That last statement is wrong.
The reference in the queue entry is pointing to the record, not to
the data.
The timestamp and data parts of a single update sent to the
client are always matching and consistent.
However, when there are multiple updates for the same array-type
value in a client's queue, the same timestamp/data (taken from the
record) will be sent to the client multiple times. This can happen
when an I/O Interrupt scanned waveform record gets a burst of scans.
Thanks to Michael Davidsaver for pointing this out, and sorry for
not doing proper fact-checking in the first place.
Cheers,
~Ralph
|
- References:
- Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Zhang, Dehong
- RE: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Mooney, Tim M.
- Re: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Till Straumann
- Re: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Zhang, Dehong
- Re: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Ralph Lange
- Navigate by Date:
- Prev:
RE: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Mark Rivers
- Next:
Re: EPICS 2016 Spring Meeting at ESS, Lund, Sweden Torsten Bögershausen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
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: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Mark Rivers
- Next:
Re: Lock/Mutex to prevent "caget" from cutting in between updating multiple fields Michael Davidsaver
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
<2016>
2017
2018
2019
2020
2021
2022
2023
2024
|
ANJ, 15 Jul 2016 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|