Experimental Physics and Industrial Control System
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
<2010>
2011
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
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024