William,
> If I do a PV put to a channel which I am monitoring (and the new value is
> different enough from the old one to trigger a monitor) are there any
> guarantees as to whether the monitor will come before or after the put
> completion message? I have observed that it does but is that chance
> or design?
Note that in the sequencer the synchronous pvPut() has likely
been implemented with ca_put() and not with ca_put_callback()
because put call back has only recently been added to EPICS
(Andy could you confirm this?).
If the sequencer is using ca_put() then synchronous pvPut() isnt
waiting until the put completes. Instead it is only waiting for the
put request to be handed off to TCP/IP. No doubt that the sequencer
should be modified to use ca sync group put/get (implemented on top
of the ca put/get call back primitives) when it is a synchronous
pvPut()/pvGet(). Do you agree Andy?
The way it is now it is likely (but not guaranteed) that the
monitor call back will occur before the put call back is called.
This is because in record support calls are made to post CA events
prior to completion of record processing. I should change the
way put call back is implemented so this is deterministic.
>
> (The context is that I have a sequence which looks like:
>
> state idle {
> when ( sara ) {
> printf( "idle: sara is true (%d)\n", sara );
> sara = 0;
> pvPut( sara );
> } state idle
> }
>
> and I want to be sure - I am using synchronous puts - that there will be
> only a single printf() each time I set sara to a non-zero value. We want
> to use logic such as this for processing external commands and don't want
> to have to use multiple states, although we could.)
>
Jeff
- Navigate by Date:
- Prev:
CA server message buffers Peregrine McGehee
- Next:
Re: CA server message buffers Jeff Hill
- 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:
CA server message buffers Peregrine McGehee
- Next:
Re: CA server message buffers Jeff Hill
- 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
|