Back to index

python3.2  3.2.2
Classes | Defines | Typedefs | Enumerations
pyatomic.h File Reference
#include "dynamic_annotations.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _Py_atomic_address
struct  _Py_atomic_int

Defines

#define _Py_atomic_signal_fence(ORDER)   ((void)0)
#define _Py_atomic_thread_fence(ORDER)   ((void)0)
#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER)   ((ATOMIC_VAL)->_value = NEW_VAL)
#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER)   ((ATOMIC_VAL)->_value)
#define _Py_atomic_store(ATOMIC_VAL, NEW_VAL)   _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, _Py_memory_order_seq_cst)
#define _Py_atomic_load(ATOMIC_VAL)   _Py_atomic_load_explicit(ATOMIC_VAL, _Py_memory_order_seq_cst)
#define _Py_atomic_store_relaxed(ATOMIC_VAL, NEW_VAL)   _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, _Py_memory_order_relaxed)
#define _Py_atomic_load_relaxed(ATOMIC_VAL)   _Py_atomic_load_explicit(ATOMIC_VAL, _Py_memory_order_relaxed)

Typedefs

typedef enum _Py_memory_order _Py_memory_order
typedef struct _Py_atomic_address _Py_atomic_address
typedef struct _Py_atomic_int _Py_atomic_int

Enumerations

enum  _Py_memory_order {
  _Py_memory_order_relaxed, _Py_memory_order_acquire, _Py_memory_order_release, _Py_memory_order_acq_rel,
  _Py_memory_order_seq_cst
}

Class Documentation

struct _Py_atomic_address

Definition at line 31 of file pyatomic.h.

Class Members
void * _value
struct _Py_atomic_int

Definition at line 35 of file pyatomic.h.

Class Members
int _value

Define Documentation

#define _Py_atomic_load (   ATOMIC_VAL)    _Py_atomic_load_explicit(ATOMIC_VAL, _Py_memory_order_seq_cst)

Definition at line 166 of file pyatomic.h.

#define _Py_atomic_load_explicit (   ATOMIC_VAL,
  ORDER 
)    ((ATOMIC_VAL)->_value)

Definition at line 158 of file pyatomic.h.

#define _Py_atomic_load_relaxed (   ATOMIC_VAL)    _Py_atomic_load_explicit(ATOMIC_VAL, _Py_memory_order_relaxed)

Definition at line 173 of file pyatomic.h.

#define _Py_atomic_signal_fence (   ORDER)    ((void)0)

Definition at line 154 of file pyatomic.h.

#define _Py_atomic_store (   ATOMIC_VAL,
  NEW_VAL 
)    _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, _Py_memory_order_seq_cst)

Definition at line 164 of file pyatomic.h.

#define _Py_atomic_store_explicit (   ATOMIC_VAL,
  NEW_VAL,
  ORDER 
)    ((ATOMIC_VAL)->_value = NEW_VAL)

Definition at line 156 of file pyatomic.h.

#define _Py_atomic_store_relaxed (   ATOMIC_VAL,
  NEW_VAL 
)    _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, _Py_memory_order_relaxed)

Definition at line 171 of file pyatomic.h.

#define _Py_atomic_thread_fence (   ORDER)    ((void)0)

Definition at line 155 of file pyatomic.h.


Typedef Documentation


Enumeration Type Documentation

Enumerator:
_Py_memory_order_relaxed 
_Py_memory_order_acquire 
_Py_memory_order_release 
_Py_memory_order_acq_rel 
_Py_memory_order_seq_cst 

Definition at line 23 of file pyatomic.h.