Benjamin Franksen wrote:
>
> (64 bits). Is it _guaranteed_ that
>
> *((double *)(*private->ppvar) + private->index) = pao->val;
>
> (such as happens to be in devAoSymb.c) compiles into non-interruptable
> machine code? Is it even guaranteed for the simpler line
>
> vxvar = pao->val;
>
> where vxvar is a globally visible variable of type double?
It should make no difference how the lvalue is derived, nor whether the
variable is being read from or written to. The answer depends on what
the target CPU is. If you're running on something without a FP
coprocessor then it's almost certainly not going to happen in a single
indivisible read as you're reading 8 bytes = 2 long words. With a
coprocessor you have a fighting chance, if the compiler codes the access
as a coprocessor instruction rather than a CPU one. However I agree
that this shouldn't really be left to chance, and that the intLock is
worth adding for ai/ao, wf and strings.
Of course even an intLock won't solve this problem if the other access
comes from a different CPU in the VME rack...
-- Andrew
___
.' `. Andrew Johnson, Head of Electronics
/ Royal ) Royal Greenwich Observatory
\ Greenwich Madingley Road, Cambridge, CB3 0EZ
| Observatory Tel: +44 1223 374823 Fax: 374700
+---------- WWW: http://www.ast.cam.ac.uk/~anj
- References:
- RE: Proposal for boosted Symb device support Jeff Hill
- Re: Proposal for boosted Symb device support Benjamin Franksen
- Navigate by Date:
- Prev:
Re: Proposal for boosted Symb device support Ned Arnold
- Next:
Re: Proposal for boosted Symb device support Marty Kraimer
- 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: Proposal for boosted Symb device support Benjamin Franksen
- Next:
Re: Proposal for boosted Symb device support Ned Arnold
- 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
|