pycore_atomic.h File Reference

Classes

struct  _Py_atomic_address
 
struct  _Py_atomic_int
 

Macros

#define _Py_atomic_signal_fence(ORDER)
 
#define _Py_atomic_thread_fence(ORDER)
 
#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER)
 
#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER)
 
#define _Py_atomic_store(ATOMIC_VAL, NEW_VAL)
 
#define _Py_atomic_load(ATOMIC_VAL)
 
#define _Py_atomic_store_relaxed(ATOMIC_VAL, NEW_VAL)
 
#define _Py_atomic_load_relaxed(ATOMIC_VAL)
 

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
}
 

Macro Definition Documentation

◆ _Py_atomic_signal_fence

#define _Py_atomic_signal_fence (   ORDER)

◆ _Py_atomic_thread_fence

#define _Py_atomic_thread_fence (   ORDER)

◆ _Py_atomic_store_explicit

#define _Py_atomic_store_explicit (   ATOMIC_VAL,
  NEW_VAL,
  ORDER 
)

◆ _Py_atomic_load_explicit

#define _Py_atomic_load_explicit (   ATOMIC_VAL,
  ORDER 
)

◆ _Py_atomic_store

#define _Py_atomic_store (   ATOMIC_VAL,
  NEW_VAL 
)

◆ _Py_atomic_load

#define _Py_atomic_load (   ATOMIC_VAL)

◆ _Py_atomic_store_relaxed

#define _Py_atomic_store_relaxed (   ATOMIC_VAL,
  NEW_VAL 
)

◆ _Py_atomic_load_relaxed

#define _Py_atomic_load_relaxed (   ATOMIC_VAL)

Typedef Documentation

◆ _Py_memory_order

◆ _Py_atomic_address

◆ _Py_atomic_int

Enumeration Type Documentation

◆ _Py_memory_order

Enumerator
_Py_memory_order_relaxed 
_Py_memory_order_acquire 
_Py_memory_order_release 
_Py_memory_order_acq_rel 
_Py_memory_order_seq_cst