EPICS Controls Argonne National Laboratory

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: "J. Lewis Muir" <[email protected]>
Cc: [email protected]
Date: Wed, 19 Jun 2013 18:10:32 +0200
Hi

again sorry for long delay; you are not forgotten!

On Wednesday, June 12, 2013 12:38:40 J. Lewis Muir wrote:
> On 6/12/13 11:10 AM, Benjamin Franksen wrote:
> > On Monday, June 10, 2013 17:22:12 Carl Lionberger wrote:
> >> Looking at the code in seq_ca.c and seq_if.c, it seems that if a
> >> synchronous pvGet ever fails to get a callback from channel access, the
> >> "get completion timeout" message is set in the channel metadata and all
> >> subsequent attempts to do pvGets on that channel will fail as in the
> >> first
> >> message.  The latter occurs because there is a get semaphore for each
> >> channel that the callback is supposed to give.
> >>
> >> My thought is that if the callback doesn't come the semaphore should be
> >> released in the same code that sets the "get completion timeout" message.
> >
> > [...]
> >
> > I find it very hard to judge what the correct behaviour is, here.
> >
> > Maybe Jeff can comment?
> >
> >> Or is there something the operator should be able to do, short of
> >> restarting the sequencer?
> >
> > There is not, currently, but I could add something. Maybe letting the
> > programmer explicitly "recover" from timeouts is better than doing it
> > automatically, at least as long as (and assuming that) canceling pvGet
> > requests is not supported by the CA client API.
>
> I think I've run into Carl's problem before too.
>
> Could you supply the CA callback with a sequence number that would
> uniquely identify the callback as being for a particular pvGet?  This
> way, you could ignore a callback if it arrives for a pvGet that has been
> abandoned.

Right, that's a possibility.

Will look into this and see if I can get something hacked up.

One thing I hate about this is that I happen to know CA already does exactly
that, on the protocol level. It just isn't exposed in the API.

Cheers
--
Ben Franksen
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachm€nts

Attachment: signature.asc
Description: This is a digitally signed message part.


Replies:
Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
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 J. Lewis Muir

Navigate by Date:
Prev: Re: seqLog obsolete / errlog filtering based on source Benjamin Franksen
Next: CSS and Subversion Vigder, Mark
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 J. Lewis Muir
Next: Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
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 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·