summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruser <user@ubuntu8041.localdomain>2010-03-23 04:09:15 -0400
committeruser <user@ubuntu8041.localdomain>2010-03-23 04:13:11 -0400
commit11e8a39def6fb0e30d030169bb3794b577157b61 (patch)
treedac955c12d1e3b2ce3591b1e1e03217e8140ad19
parent21a6636135174831d781255dbbcfe64456a21be6 (diff)
Compile.
-rw-r--r--src/corelib/arch/nacl/qatomic_nacl.cpp19
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