diff options
author | Chris Robinson <[email protected]> | 2014-05-06 19:07:40 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2014-05-06 19:07:40 -0700 |
commit | 1aff37114a930a6a7fab7067572133345398b542 (patch) | |
tree | a68d2638cdceb98ea55f55668aa922a5d5d78d57 | |
parent | fa12855d198d7701747539da05802519ce866030 (diff) |
Move atomic method definitions to a separate common source
-rw-r--r-- | Alc/helpers.c | 7 | ||||
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | common/atomic.c | 12 |
3 files changed, 14 insertions, 8 deletions
diff --git a/Alc/helpers.c b/Alc/helpers.c index 23953270..77a660d1 100644 --- a/Alc/helpers.c +++ b/Alc/helpers.c @@ -93,13 +93,6 @@ DEFINE_DEVPROPKEY(DEVPKEY_Device_FriendlyName, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, #include "threads.h" -extern inline RefCount IncrementRef(volatile RefCount *ptr); -extern inline RefCount DecrementRef(volatile RefCount *ptr); -extern inline int ExchangeInt(volatile int *ptr, int newval); -extern inline void *ExchangePtr(XchgPtr *ptr, void *newval); -extern inline int CompExchangeInt(volatile int *ptr, int oldval, int newval); -extern inline void *CompExchangePtr(XchgPtr *ptr, void *oldval, void *newval); - extern inline void LockUIntMapRead(UIntMap *map); extern inline void UnlockUIntMapRead(UIntMap *map); extern inline void LockUIntMapWrite(UIntMap *map); diff --git a/CMakeLists.txt b/CMakeLists.txt index b15d9a1a..2500960c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -487,7 +487,8 @@ IF(NOT HAVE_STDINT_H) ENDIF() -SET(COMMON_OBJS common/threads.c +SET(COMMON_OBJS common/atomic.c + common/threads.c ) SET(OPENAL_OBJS OpenAL32/alAuxEffectSlot.c OpenAL32/alBuffer.c diff --git a/common/atomic.c b/common/atomic.c new file mode 100644 index 00000000..02bbf066 --- /dev/null +++ b/common/atomic.c @@ -0,0 +1,12 @@ + +#include "config.h" + +#include "atomic.h" + + +extern inline RefCount IncrementRef(volatile RefCount *ptr); +extern inline RefCount DecrementRef(volatile RefCount *ptr); +extern inline int ExchangeInt(volatile int *ptr, int newval); +extern inline void *ExchangePtr(XchgPtr *ptr, void *newval); +extern inline int CompExchangeInt(volatile int *ptr, int oldval, int newval); +extern inline void *CompExchangePtr(XchgPtr *ptr, void *oldval, void *newval); |