o hoping that atomic_inc_ptr_nv and atomic_dec_ptr_nv interface definitions will be available if we use sys/atomic.h instead of atomic.h
o fixed issue introduced by last revision where definition of lock functions and lock key were not present if its sunos 5.10 or greater (its time consuming to develop code if you can only run the (SUNPRO) compiler indirectly)
This commit is contained in:
committed by
Andrew Johnson
parent
c76b800f2a
commit
1ff2408ba4
@@ -17,11 +17,18 @@
|
||||
#define epicsAtomicOSD_h
|
||||
|
||||
struct EpicsAtomicLockKey {};
|
||||
epicsShareFunc void epicsAtomicReadMemoryBarrier ();
|
||||
epicsShareFunc void epicsAtomicWriteMemoryBarrier ();
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
epicsShareFunc void epicsAtomicLock ( struct EpicsAtomicLockKey * );
|
||||
epicsShareFunc void epicsAtomicUnlock ( struct EpicsAtomicLockKey * );
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* end of extern "C" */
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include "epicsAtomicDefault.h"
|
||||
|
||||
#endif /* epicsAtomicOSD_h */
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
/*
|
||||
* atomic.h exists only in Solaris 10 or higher
|
||||
*/
|
||||
#include <atomic.h>
|
||||
#include <sys/atomic.h>
|
||||
|
||||
#include "epicsAssert.h"
|
||||
|
||||
@@ -157,18 +157,14 @@ EPICS_ATOMIC_INLINE size_t epicsAtomicSubSizeT ( size_t * pTarget,
|
||||
} /* end of extern "C" */
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#else /* ifdef __SunOS_5_10 */
|
||||
#endif /* ifdef __SunOS_5_10 */
|
||||
|
||||
struct EpicsAtomicLockKey {};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/*
|
||||
* its less than 5.10 so we forward reference to the out-of-line posix
|
||||
* pthread lock implementation of epicsAtomicLock and epicsAtomicUnlock
|
||||
* before including "epicsAtomicDefault.h"
|
||||
*/
|
||||
struct EpicsAtomicLockKey {};
|
||||
epicsShareFunc void epicsAtomicLock ( struct EpicsAtomicLockKey * );
|
||||
epicsShareFunc void epicsAtomicUnlock ( struct EpicsAtomicLockKey * );
|
||||
|
||||
@@ -176,8 +172,6 @@ epicsShareFunc void epicsAtomicUnlock ( struct EpicsAtomicLockKey * );
|
||||
} /* end of extern "C" */
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* ifdef __SunOS_5_10 */
|
||||
|
||||
#include "epicsAtomicDefault.h"
|
||||
|
||||
#endif /* epicsAtomicOSD_h */
|
||||
|
||||
Reference in New Issue
Block a user