EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 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: recent commits
From: "Jeff Hill" <[email protected]>
To: "'Core-Talk'" <[email protected]>
Date: Wed, 9 Sep 2009 14:51:54 -0600
All,

I recently made some commits to the main trunk. The main changes are as
follows.
o moved the Guard class to reside with class EPICS :: Mutex.
o added referencing capability to EPICS :: Mutex class so that multiple
objects can share the same mutex object
o added new SMP atomic incr/decr/fetch functionality in EPICS :: osi 

// sync target in cache, add one to target, flush target in cache, 
// return new value of target
epicsShareFunc size_t atomicIncr ( size_t & target );
// sync target in cache, subtract one from target, flush target in cache, 
// return new value of target
epicsShareFunc size_t atomicDecr ( size_t & target );
// sync target in cache, return new value of target
epicsShareFunc size_t atomicFetch ( const size_t & target );

This is implemented efficiently currently for win32, vxWorks, Solaris, and
or any build employing GCC 4.1 or higher. Otherwise, if none of the above
apply, a posix threads mutex is used to achieve synchronization. So that
covers probably all of the currently supported OS - including probably also
VMS.

o The build for the new CAS is currently commented out 

Jeff
______________________________________________________
Jeffrey O. Hill           Email        [email protected]
LANL MS H820              Voice        505 665 1831
Los Alamos NM 87545 USA   FAX          505 665 5107

Message content: TSPA





Navigate by Date:
Prev: vme64 csr/cr and pci probing in devLib Davidsaver, Michael
Next: devLib ruminations Davidsaver, Michael
Index: 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: vme64 csr/cr and pci probing in devLib Davidsaver, Michael
Next: devLib ruminations Davidsaver, Michael
Index: 2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·