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

Subject: Some Channel Access Questions
From: Ben Franksen <[email protected]>
To: EPICS Techtalk <[email protected]>
Date: Tue, 26 Oct 2010 22:17:36 +0200
I am again hacking on the sequencer internals and thereby came to ask 
myself how CA handles these cases:

- multiple ca_put_callback calls on the same channel
- multiple ca_get_callback calls on the same channel
- multiple (blocking) ca_get calls on the same channel
- a mixture of any of the above

I assume exactly one channel here, which is possibly accessed from 
multiple threads.

The only unproblematic case is the simple ca_put, as it is fire and 
forget; for ca_monitor I happen to know that multiple subscriptions are 
fine and each subscription get its own callback on each event. Do the 
other calls behave similarly, i.e. if I fire two ca_get_callback on the 
same channel in a row, do I get two callbacks, too? Are there any 
combinations which will fail ("sorry, pv is active")? I remember 
reading some time ago that only one *db*_put_callback can be active at 
a time on a record (on the IOC), so will interleaving two 
ca_put_callbacks also fail? What if I interleave a synchronous ca_get 
(i.e. I wait for completion using ca_pend or somesuch) with a ca_get or 
ca_get_callback issued by another thread?

Cheers (head smoking)
Ben
-- 
"Never confuse what is natural with what is habitual."
                                   -- attributed to Mahatma Gandhi

Replies:
RE: Some Channel Access Questions Jeff Hill
Re: Some Channel Access Questions Andrew Johnson

Navigate by Date:
Prev: RE: EPICS CA problems Mark Rivers
Next: Re: EPICS on ARM (continued) emmanuel_mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: ChannelArchiver build problem with 3.14.11 on Suse linux Burkhard Kolb
Next: RE: Some Channel Access Questions Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 24 Nov 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·