EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  <19961997  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  Index 1994  1995  <19961997  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 
<== Date ==> <== Thread ==>

Subject: Re: CA questions
From: Jeff Hill <[email protected]>
To: Andrew Johnson <[email protected]>
Cc: EPICS Tech-Talk list <[email protected]>
Date: Tue, 28 May 1996 11:14:09 -0600
Andrew Johnson wrote:
> 
> Two questions, which I guess are in Jeff Hill's area of knowledge but
> others may know:
> 
> 1. Is it possible to run the CA client layer on a vxWorks system which is
> *not* an EPICS IOC?  Would this be an easy thing to do, or is the vxWorks
> client too closely integrated with the server and database code?  At a
> first glance it's not as simple as just loading caLib because that has
> other link dependencies.


It was possible in the past to load iocCore, not load a database, and then call 
ca_task_initialize() etc without calling iocInit(). This configuration is
dependent on being able to call dbNameToAddr() (and get PV not found
from it) even if a database has not been loaded and iocInit() has
not been called. Is this something you would recommend today Marty?

It will be difficult to separate the
ca client lib from the db access layer under vxWorks until the
ca client is coded to communicate directly with the new server lib
when the PV is local.



> 
> 2. Is the host client layer thread-safe (I guess this depends on the host
> OS ?) -- i.e. can my applications dedicate a separate thread to run
> ca_pend_event, or even have multiple threads calling other CA routines?
> What would happen if I called ca_pend_io?
> 

There are mutual exclusion macros in the code. They are currently only
enabled under vxWorks. It should be fairly easy to turn on mutual
exclusion for any OS that supports system call preempting light weight 
threads and a reentrant implementation of select().
Perhaps the biggest problem is properly managing the different 
configurations of the client lib. 

Note that fdmgr.{c,h} has been used to integrate several codes
into one single threaded UNIX process in the past.


Jeff


______________________________________________________________________
Jeffrey O. Hill			Internet	[email protected]
LANL MS H820			Voice		505 665 1831
Los Alamos, NM 87545 USA 	FAX		505 665 5107


References:
CA questions Andrew Johnson

Navigate by Date:
Prev: Burt compile. MURANAKA Masaki
Next: Re: MC 68060 FP Math Performance Jeff Hill
Index: 1994  1995  <19961997  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: CA questions Andrew Johnson
Next: Burt compile. MURANAKA Masaki
Index: 1994  1995  <19961997  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 
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 ·