RTEMS 6.3
Loading...
Searching...
No Matches
Atomic Operations

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

Files

file  cpukit/include/rtems/score/atomic.h
 This header file provides the interfaces of the Atomic Operations.
file  cpukit/score/src/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)
#define ATOMIC_INITIALIZER_ULONG(value)
#define ATOMIC_INITIALIZER_UINTPTR(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.

Macro Definition Documentation

◆ ATOMIC_INITIALIZER_UINT

#define ATOMIC_INITIALIZER_UINT ( value)
Value:
( value )

◆ ATOMIC_INITIALIZER_UINTPTR

#define ATOMIC_INITIALIZER_UINTPTR ( value)
Value:
( value )

◆ ATOMIC_INITIALIZER_ULONG

#define ATOMIC_INITIALIZER_ULONG ( value)
Value:
( value )