Experimental Physics and Industrial Control System
Hi Eric,
On 2012-05-30 Eric Norum wrote:
>
> Actually the asyn devEpics layer is simpler than described above.
> - It always sets the record TIME field from the pasynUser->timestamp in
> the device support interrupt callback or read method then returns to
> higher level record processing code.
> - The record processing code then
> overwrites the TIME field unless the TSE field is -2.
If you do this it is possible for a client that is doing ca_get operations (or
even some other record that might have its TSEL pointing to this record's TIME
field) to see the time set by the devEpics layer, even if the record
subsequently overwrites the TIME field. Since the TIME field is a structure
with two 32-bit components it is even possible for such a client or record to
see the seconds part of the old time-stamp and the nanoseconds from the new
one (or vice-versa) if the interrupt happened to occur in between it reading
the two parts.
I suspect some of them do, but I don't think device support should be updating
*any* publicly visible record fields from inside an ISR, since it can't be
sure that the record isn't currently locked and having field values being read
out of it.
- Andrew
--
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte
- Replies:
- Re: Proposed change in asyn - request for comments Eric Norum
- References:
- Proposed change in asyn - request for comments Mark Rivers
- RE: Proposed change in asyn - request for comments Kim, Kukhee
- Re: Proposed change in asyn - request for comments Eric Norum
- Navigate by Date:
- Prev:
Re: calc VAL field not updating from bi VAL field J. Lewis Muir
- Next:
Re: [CSS] commas in TextUpdate Pavel Masloff
- 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: Proposed change in asyn - request for comments Eric Norum
- Next:
Re: Proposed change in asyn - request for comments Eric Norum
- 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