From baaaa3a3134fc59f8ebc725cc76a7ad0438ef0e9 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Mon, 15 Aug 2011 17:59:43 -0600 Subject: [PATCH] fixed missing missing locked func and broken func proto --- src/libCom/osi/epicsAtomic.h | 4 ++-- src/libCom/osi/epicsAtomicLocked.cpp | 14 +++++++++++++- src/libCom/osi/epicsAtomicLocked.h | 6 +++--- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/libCom/osi/epicsAtomic.h b/src/libCom/osi/epicsAtomic.h index b444b1240..586cb15c2 100644 --- a/src/libCom/osi/epicsAtomic.h +++ b/src/libCom/osi/epicsAtomic.h @@ -91,10 +91,10 @@ epicsShareFunc size_t epicsLockedIncrSizeT ( size_t * pTarget ); epicsShareFunc size_t epicsLockedDecrSizeT ( size_t * pTarget ); epicsShareFunc void epicsLockedSetSizeT ( size_t * pTarget, size_t newVal ); epicsShareFunc void epicsLockedSetUIntT ( unsigned * pTarget, unsigned newVal ); -epicsShareFunc void epicsLockedSetPtrT ( unsigned * pTarget, EpicsAtomicPtrT newVal ); +epicsShareFunc void epicsLockedSetPtrT ( EpicsAtomicPtrT * pTarget, EpicsAtomicPtrT newVal ); epicsShareFunc size_t epicsLockedGetSizeT ( const size_t * pTarget ); epicsShareFunc unsigned epicsLockedGetUIntT ( const unsigned * pTarget ); -epicsShareFunc EpicsAtomicPtrT epicsLockedGetPtrT ( const unsigned * pTarget ); +epicsShareFunc EpicsAtomicPtrT epicsLockedGetPtrT ( const EpicsAtomicPtrT * pTarget ); epicsShareFunc unsigned epicsLockedCmpAndSwapUIntT ( unsigned * pTarget, unsigned oldval, unsigned newval ); epicsShareFunc EpicsAtomicPtrT epicsLockedCmpAndSwapPtrT ( EpicsAtomicPtrT * pTarget, diff --git a/src/libCom/osi/epicsAtomicLocked.cpp b/src/libCom/osi/epicsAtomicLocked.cpp index 65a64fb83..42cbb33bd 100644 --- a/src/libCom/osi/epicsAtomicLocked.cpp +++ b/src/libCom/osi/epicsAtomicLocked.cpp @@ -105,13 +105,25 @@ void epicsLockedSetUIntT ( unsigned * pTarget, unsigned newVal ) *pTarget = newVal; } +void epicsLockedSetPtrT ( EpicsAtomicPtrT * pTarget, EpicsAtomicPtrT newVal ) +{ + AtomicGuard atomicGuard; + *pTarget = newVal; +} + +unsigned epicsLockedGetUIntT ( const unsigned * pTarget ) +{ + AtomicGuard atomicGuard; + return *pTarget; +} + size_t epicsLockedGetSizeT ( const size_t * pTarget ) { AtomicGuard atomicGuard; return *pTarget; } -unsigned epicsLockedGetUIntT ( const unsigned * pTarget ) +EpicsAtomicPtrT epicsLockedGetPtrT ( const EpicsAtomicPtrT * pTarget ) { AtomicGuard atomicGuard; return *pTarget; diff --git a/src/libCom/osi/epicsAtomicLocked.h b/src/libCom/osi/epicsAtomicLocked.h index 4f9749781..298dcc3dc 100644 --- a/src/libCom/osi/epicsAtomicLocked.h +++ b/src/libCom/osi/epicsAtomicLocked.h @@ -62,14 +62,14 @@ OSD_ATOMIC_INLINE EpicsAtomicPtrT epicsAtomicGetPtrT ( const EpicsAtomicPtrT * p return epicsLockedGetPtrT ( pTarget ); } -OSD_ATOMIC_INLINE unsigned epicsAomicCmpAndSwapUIntT ( unsigned * pTarget, +OSD_ATOMIC_INLINE unsigned epicsAtomicCmpAndSwapUIntT ( unsigned * pTarget, unsigned oldVal, unsigned newVal ) { return epicsLockedCmpAndSwapUIntT ( pTarget, oldVal, newVal ); } -OSD_ATOMIC_INLINE EpicsAtomicPtrT epicsLockedCmpAndSwapPtrT ( EpicsAtomicPtrT * pTarget, - EpicsAtomicPtrT oldval, EpicsAtomicPtrT newval ) +OSD_ATOMIC_INLINE EpicsAtomicPtrT epicsAtomicCmpAndSwapPtrT ( EpicsAtomicPtrT * pTarget, + EpicsAtomicPtrT oldVal, EpicsAtomicPtrT newVal ) { return epicsLockedCmpAndSwapPtrT ( pTarget, oldVal, newVal ); }