EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: CA questions
From: "Liyu, Andrei" <[email protected]>
To: [email protected]
Date: Tue, 04 Nov 2003 13:03:48 -0500
Hi,

Manual for 3.14.4 is much better but I again have couple question
concerning CA.
At first, I would like to discuss 3.14 version and of course
	ca_context_create( ca_enable_preemptive_callback);

1. So, first question about 
ca_current_context () and ca_attach_context().

My program srars and I created thread ONE and use 
	ca_context_create (ca_enable_preemptive_callback);

Then I create thread TWO. I believe that I should use 

	struct ca_client_context * pSThreadCAContext;
	pSThreadCAContext = ca_current_context ();
// pSThreadCAContext should not equal NULL!!!
	int iStatus = ca_attach_context( pSThreadCAContext);
// iStatus should equal ECA_ISATTACHED

What is next step? For example,
	pSThreadCAContext->ca_function( ...);
or
	ca_function( ...)?


If I am not mistaken when I would like to finish work with CA I should
- close all channel in all threads
- use ca_context_destroy(); once in any thread.
Am I right?

Also what I will have if I init CA library some times?
And last not question - suggestion. Maybe CA library can be exist
without 
this init level. When channel will be open CA library will init in first
time, 
attach in other thread and so on.

2. ca_pend_io and ca_pend_event.
I have asked this question. But I continue misunderstanding ...
When I use ca_enable_preemptive_callback that CA library open its
thread. 
So CA library has its CPU time. What background activities should CA 
library do in CPU time of other threads? 

3. Some time ago I understood that I open channel to PV's field. So each

PV's field has type, count, reading/writing access, host name 
(why not IOC name?). Also channel to PV's field has connection status. 
But what about timestamp? Is it only to VAL field?

4. And last question. What do client and server do when connection lost?

I believe that  they are waiting up to EPICS_CA_CONN_TWO time and server

is sending beacons. But what is later? Does server clean resource of 
disconnection channel? Why client can connect again if server was
rebooted?

Thanks in advance,
Andrei.


Replies:
RE: CA questions Jeff Hill

Navigate by Date:
Prev: RE: Problem with dbCaLink task in 3.14.4 Mark Rivers
Next: Question on newer MVME-177 Chestnut, Ronald P.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  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: Problem with dbCaLink task in 3.14.4 Mark Rivers
Next: RE: CA questions Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·