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  2012  <20132014  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  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: pvGet timeout in sequencer 2.1.12
From: Benjamin Franksen <[email protected]>
To: <[email protected]>
Date: Fri, 5 Jul 2013 22:56:01 +0200
Hi Andrew

thank you very much for this answer. I'm sorry, I could have found that
information myself by searching the CA manual more carefully.

I will release a new sequencer version that contains a suitable fix that
relies on CA calling the event handler for every request it accepted.

Cheers
Ben

Am Freitag, 5. Juli 2013, 20:23:32 schrieb Andrew Johnson:
> On 2013-07-04 Benjamin Franksen wrote:
> > I feel a bit left alone, momentarily, talking to myself all the time. I
> > guess all the experts are on vacation.
>
> I have been reading your messages on this subject, but the expert on CA is
> Jeff Hill who has been posting a little recently so I was hoping he would
> respond.

(Me too. I would still feel better to have this confirmed by Jeff himself.)

> > > Channel Access Question
> > > =======================
> > >
> > > Does the CA client library guarantee that callbacks for
> > > ca_array_get_callback and ca_array_put_callback are eventually
> > > called, no matter what, assuming I just wait long enough?
> > >
> > > Note that "no matter what" includes lost connections etc.
>
> The CA reference manual says the following about ca_put_callback():
> > When ca_array_put_callback are invoked the user supplied asynchronous
> > call back is called only after the initiated write operation, and all
> > actions resulting from the initiating write operation, complete.
> >
> > If unsuccessful the call back function is invoked indicating failure
> > status.
> >
> > If the channel disconnects before a put callback request can be
> > completed, then the client's call back function is called with failure
> > status, but this does not guarantee that the server did not receive and
> > process the request before the disconnect. If a connection is lost and
> > then resumed outstanding ca put requests are not automatically reissued
> > following reconnect.
>
> and this about ca_get_callback():
> > When ca_get_callback or ca_array_get_callback are invoked a value is
> > read from the channel and then the user's callback is invoked with a
> > pointer to the retrieved value. Note that ca_pend_io will not block
> > for the delivery of values requested by ca_get_callback. If the channel
> > disconnects before a ca get callback request can be completed, then the
> > clients call back function is called with failure status.
>
> Both of those texts would seem to indicate that you can rely on your
> callback eventually being called one way or the other.
>
> If you come across a situation where your callback is not being called, the
> documentation implies that should only be due to a bug in the
> implementation, which would then need to be fixed.
--
"Make it so they have to reboot after every typo." -- Scott Adams

________________________________

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

Aufsichtsrat: Vorsitzender Prof. Dr. Dr. h.c. mult. Joachim Treusch, stv. Vorsitzende Dr. Beatrix Vierkorn-Rudolph
Geschäftsführung: Prof. Dr. Anke Rita Kaysser-Pyzalla, Thomas Frederking

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin

http://www.helmholtz-berlin.de


References:
pvGet timeout in sequencer 2.1.12 Carl Lionberger
Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
Re: pvGet timeout in sequencer 2.1.12 Andrew Johnson

Navigate by Date:
Prev: Re: pvGet timeout in sequencer 2.1.12 Andrew Johnson
Next: Re: Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: pvGet timeout in sequencer 2.1.12 Andrew Johnson
Next: CSS plugin sources James F Ross
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024