diff options
author | user <user@ubuntu8041.localdomain> | 2010-03-23 04:09:15 -0400 |
---|---|---|
committer | user <user@ubuntu8041.localdomain> | 2010-03-23 04:13:11 -0400 |
commit | 11e8a39def6fb0e30d030169bb3794b577157b61 (patch) | |
tree | dac955c12d1e3b2ce3591b1e1e03217e8140ad19 | |
parent | 21a6636135174831d781255dbbcfe64456a21be6 (diff) |
Compile.
-rw-r--r-- | src/corelib/arch/nacl/qatomic_nacl.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/corelib/arch/nacl/qatomic_nacl.cpp b/src/corelib/arch/nacl/qatomic_nacl.cpp index 296fc66377..dbd0d4a94f 100644 --- a/src/corelib/arch/nacl/qatomic_nacl.cpp +++ b/src/corelib/arch/nacl/qatomic_nacl.cpp @@ -43,15 +43,27 @@ #include <QtCore/qatomic.h> -#include <atomic_ops.h> +//#include <atomic_ops.h> #include <stdio.h> +#include <pthread.h> + +typedef AtomicInt32 AtomicWord; +extern AtomicWord CompareAndSwap(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value); +typedef AtomicInt32 AtomicWord; +extern AtomicWord CompareAndSwape(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value); +extern AtomicWord AtomicExchange(volatile AtomicWord* ptr, AtomicWord new_value); +extern AtomicWord AtomicIncrement(volatile AtomicWord* ptr, AtomicWord increment); QT_BEGIN_NAMESPACE Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *_q_value, int expectedValue, int newValue) { - return (CompareAndSwap(_q_value, expectedValue, newValue) == newValue); + return (CompareAndSwape(_q_value, expectedValue, newValue) == newValue); } Q_CORE_EXPORT @@ -71,7 +83,7 @@ bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value, void *expectedValue, void *newValue) { - return (CompareAndSwap(reinterpret_cast<volatile AtomicWord*>(_q_value), + return (CompareAndSwape(reinterpret_cast<volatile AtomicWord*>(_q_value), reinterpret_cast<AtomicWord>(expectedValue), reinterpret_cast<AtomicWord>(newValue)) == reinterpret_cast<AtomicWord>(newValue)); @@ -93,6 +105,7 @@ void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *_q_value, qptrdiff AtomicIncrement(reinterpret_cast<volatile AtomicWord*>(_q_value), *reinterpret_cast<AtomicWord *>(&valueToAdd)) ); + } QT_END_NAMESPACE |