Having Stephanie next door pays off :-)
My application behaves like this:
ezcaGet();
/* user works; this can take minutes, hours, days */
ezcaGet();
/* second ezcaGet() fails if more than ~80sec expire
* between the ezca calls
*/
Steph pointed out that the CA library still needs to handle
beacons even when idle and recommended to initialize the
application's CA context with ca_enable_preemptive_callback.
As a (undocumented) side effect, this would result in beacons
being handled by one of the CA background threads.
(At least, this is what I recall from our conversation - if
not completely accurate, I'm to blame for misquoting)
Anyways, this helped, the disconnects are gone and I'm happy
because I no longer need 3.13 around :-)
-- Till
PS: the app now does
ca_context_create(ca_enable_preemptive_callback);
...
ezcaGet();
/* user works for hours */
ezcaGet();
/* SUCCESS */
Jeff Hill wrote:
CA.Client.Exception............................................
...
Warning: "Virtual circuit disconnect"
Context: "134.79.35.35:5064"
Source File: ../cac.cpp line 1809
Current Time: Wed Dec 04 2002 13:48:18.219267000
...............................................................
Do you know for certain that the "read command" is failing or are you
encountering the following situation?
In R3.14 beta 1 and beta 2 the ca client library will print the above
message if a connected channel still exists when you call
ca_task_exit(). To remain strictly backwards compatibility this message
is suppressed, only for this specific situation, in the latest version
of R3.14.
Does ezca block in ca_pend_io() when it is waiting for the "read
command" to complete? If so, then how long is the timeout which is
provided to ca_pend_io()?
Jeff
-----Original Message-----
From: Till Straumann [mailto:[email protected]]
Sent: Wednesday, December 04, 2002 3:12 PM
To: Tech-talk
Subject: libezca and EPICS-3.14
Hi.
I discussed this briefly with Marty at JLAB. He suggested
I should post to the list. I was not sure whether the
EZCA library is supported under 3.14.
Here's my problem:
I have put together a CA interface for SCILAB (a nice open
source tool a la matlab) who builds on top of libezca. Works
fine with 3.13.
Using 3.14_beta1, I can access (e.g. read using ezcaget) a PV
into SCILAB without problem. An attempt to access the same PV
a couple of minutes later fails, however, giving the following
error:
CA.Client.Exception............................................
...
Warning: "Virtual circuit disconnect"
Context: "134.79.35.35:5064"
Source File: ../cac.cpp line 1809
Current Time: Wed Dec 04 2002 13:48:18.219267000
...............................................................
.....
Strange enough, if I repeat the read command for a couple
of times, it works again. Let some time expire and it again
fails.
And so on.
Does somebody have an explanation or, yet better, a fix?
-- Till
- Replies:
- RE: libezca and EPICS-3.14 Jeff Hill
- References:
- RE: libezca and EPICS-3.14 Jeff Hill
- Navigate by Date:
- Prev:
Re: VDCT installation and documentation problems... Till Straumann
- Next:
Building 3.13Extensions with 3.14 Base Probelm Edwin du
- 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: libezca and EPICS-3.14 Jeff Hill
- Next:
RE: libezca and EPICS-3.14 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
|