RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Files | Macros | Typedefs
Atomic Operations

This group contains the atomic operations implementation. More...

Files

file  atomic.h
 This header file provides the interfaces of the Atomic Operations.
 
file  libatomic.c
 This source file contains the implementation of _Libatomic_Protect_start() and _Libatomic_Protect_end().
 

Macros

#define ATOMIC_ORDER_RELAXED   0
 
#define ATOMIC_ORDER_ACQUIRE   2
 
#define ATOMIC_ORDER_RELEASE   3
 
#define ATOMIC_ORDER_ACQ_REL   4
 
#define ATOMIC_ORDER_SEQ_CST   5
 
#define ATOMIC_INITIALIZER_UINT(value)   ( value )
 
#define ATOMIC_INITIALIZER_ULONG(value)   ( value )
 
#define ATOMIC_INITIALIZER_UINTPTR(value)   ( value )
 
#define ATOMIC_INITIALIZER_FLAG   false
 

Typedefs

typedef unsigned int Atomic_Uint
 
typedef unsigned long Atomic_Ulong
 
typedef uintptr_t Atomic_Uintptr
 
typedef bool Atomic_Flag
 
typedef int Atomic_Order
 

Detailed Description

This group contains the atomic operations implementation.

Atomic operations can be used to implement low-level synchronization primitives on SMP systems, like spin locks. All atomic operations are defined in terms of C11 (ISO/IEC 9899:2011) or C++11 (ISO/IEC 14882:2011). For documentation use the standard documents.