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
<2009>
2010
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
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|