EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Proposed change in asyn - request for comments
From: Andrew Johnson <[email protected]>
To: [email protected]
Cc: Eric Norum <[email protected]>
Date: Thu, 31 May 2012 10:08:17 -0500
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  <20122013  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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024