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

Subject: Re: Multithreading in R3.14.9 - preemptive callbacks not working.
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Wed, 21 Jan 2009 12:06:55 -0600
Hi Doug,

On Tuesday 20 January 2009 20:01:48 Douglas Morrison wrote:
>
> Using this setup I successfully get callback events. Did I misunderstand
> the documentation when it said the CA Library would create its own event
> processing threads, and that the second method I employ is actually the
> correct method?

If you're enabling preemtive callbacks you do not need your own dispatcher 
thread, CA will run your callbacks from its internal threads.  You don't 
actually need to call ca_pend_event() at all, just remember to ca_flush() as 
Jeff suggested when you've done all your setup.

> Final question: When using preemptive callbacks, performing a select on
> the file descriptors created by channel connections no longer see any
> change on the sockets. Why is this (what is the motivation)?

I'm not sure I completely understand the question; we don't use select() any 
more in the R3.14.x CA library, all I/O is performed using background threads 
(two per server).

- Andrew
-- 
The best FOSS code is written to be read by other humans -- Harold Welte

References:
Multithreading in R3.14.9 - preemptive callbacks not working. Douglas Morrison

Navigate by Date:
Prev: RE: EDM freezes Szalata, Zenon M.
Next: RE: Multithreading in R3.14.9 - preemptive callbacks not working. Douglas Morrison
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Multithreading in R3.14.9 - preemptive callbacks not working. Douglas Morrison
Next: caTools source Yuriy Gorbunov
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·