Qt 4.8
Macros | Functions
qatomic_parisc.h File Reference

Go to the source code of this file.

Macros

#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE
 
#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE
 
#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE
 
#define Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE
 
#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_NOT_NATIVE
 
#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_NOT_NATIVE
 
#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_NOT_NATIVE
 

Functions

Q_CORE_EXPORT void q_atomic_lock (int *lock)
 
Q_CORE_EXPORT void q_atomic_unlock (int *lock)
 

Macro Definition Documentation

◆ Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE

#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE

Definition at line 70 of file qatomic_parisc.h.

◆ Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE

#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE

Definition at line 63 of file qatomic_parisc.h.

◆ Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE

#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE

Definition at line 49 of file qatomic_parisc.h.

◆ Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE

#define Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE

Definition at line 56 of file qatomic_parisc.h.

◆ Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_NOT_NATIVE

#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_NOT_NATIVE

Definition at line 95 of file qatomic_parisc.h.

◆ Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_NOT_NATIVE

#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_NOT_NATIVE

Definition at line 86 of file qatomic_parisc.h.

◆ Q_ATOMIC_POINTER_TEST_AND_SET_IS_NOT_NATIVE

#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_NOT_NATIVE

Definition at line 77 of file qatomic_parisc.h.

Function Documentation

◆ q_atomic_lock()

Q_CORE_EXPORT void q_atomic_lock ( int *  lock)

Definition at line 75 of file qatomic_parisc.cpp.

76  {
77  // ldcw requires a 16-byte aligned address
78  volatile int *x = align16(lock);
79  while (q_ldcw(x) == 0)
80  ;
81  }
static int * align16(int *lock)
static QReadWriteLock lock
Definition: proxyconf.cpp:399
int q_ldcw(volatile int *addr)

◆ q_atomic_unlock()

Q_CORE_EXPORT void q_atomic_unlock ( int *  lock)

Definition at line 83 of file qatomic_parisc.cpp.

84  { lock[0] = lock[1] = lock[2] = lock[3] = -1; }
static QReadWriteLock lock
Definition: proxyconf.cpp:399