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

Subject: Re: Permissible in C to call CA I/O functions from callback?
From: Benjamin Franksen <[email protected]>
To: <[email protected]>
Date: Sun, 9 Nov 2014 04:05:58 +0100
Am Freitag, 7. November 2014, 15:24:34 schrieb Andrew Johnson:
> Hi Lewis,
>
> On 11/07/2014 11:19 AM, J. Lewis Muir wrote:
> > Thanks for the clarification.  One thing that's still unclear to me
> > is the semantics of callback execution in preemptive mode.  In the CA
> > reference manual section "Thread Safety and Preemptive Callback to User
> > Code" it says,
> >
> >   "When the CA client library invokes a user's callback function, it
> >
> >    will always wait for the current callback to complete prior to
> >    executing another callback function."
> >
> > What exactly does this mean in preemptive mode?
>
> I don't know for sure myself, I was trying to understand that while
> writing my previous response. I started out thinking that it would not
> apply when preemptive callbacks are enabled, but after looking through
> the code of the library now I'm less sure of that. This comment
>                 // only one recv thread at a time may call callbacks
>                 // - pendEvent() blocks until threads waiting for
>                 // this lock get a chance to run
> quite strongly implies that even in preemptive mode the the library will
> serialize all application callbacks, like you suggested:

I remember asking Jeff Hill this question some time ago and he confirmed it.
Howver, note that most certainly this is true only with respect to a single CA
client context.

Cheers
Ben
--
"Make it so they have to reboot after every typo." -- Scott Adams


________________________________

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

Aufsichtsrat: Vorsitzender Prof. Dr. Dr. h.c. mult. Joachim Treusch, stv. Vorsitzende Dr. Beatrix Vierkorn-Rudolph
Geschäftsführung: Prof. Dr. Anke Rita Kaysser-Pyzalla, Thomas Frederking

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin

http://www.helmholtz-berlin.de


References:
Permissible in C to call CA I/O functions from callback? J. Lewis Muir
Re: Permissible in C to call CA I/O functions from callback? J. Lewis Muir
Re: Permissible in C to call CA I/O functions from callback? Andrew Johnson

Navigate by Date:
Prev: Re: Problems with Dynamic Array population Benjamin Franksen
Next: areaDetector and ADRoper; view files in imageJ zunbeltz
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Permissible in C to call CA I/O functions from callback? Andrew Johnson
Next: Re: Permissible in C to call CA I/O functions from callback? J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·