firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
GNU C++ one-time construction API
Collaboration diagram for GNU C++ one-time construction API:

Data Structures

struct  CxaGuardObject_t

Functions

int __cxa_guard_acquire (CxaGuardObject_t *guard_object)
 Acquire __cxa_guard mutex.
void __cxa_guard_abort (CxaGuardObject_t *guard_object)
 Abort __cxa_guard mutex.
void __cxa_guard_release (CxaGuardObject_t *guard_object)
 Release __cxa_guard mutex.

Variables

static LockingData_t __cxa_guard_mutex = LOCKING_DATA_INIT

Detailed Description

See also
https://itanium-cxx-abi.github.io/cxx-abi/abi.html#once-ctor

When building for C++, please make sure that -fno-threadsafe-statics is not passed to the compiler

Function Documentation

◆ __cxa_guard_abort()

void __cxa_guard_abort ( CxaGuardObject_t * guard_object)

Abort __cxa_guard mutex.

Parameters
guard_objectGuard object
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __cxa_guard_acquire()

int __cxa_guard_acquire ( CxaGuardObject_t * guard_object)

Acquire __cxa_guard mutex.

Parameters
guard_objectGuard object
Returns
0 if object is initialized, else initialization of object required
Here is the call graph for this function:

◆ __cxa_guard_release()

void __cxa_guard_release ( CxaGuardObject_t * guard_object)

Release __cxa_guard mutex.

Parameters
guard_objectGuard object
Here is the call graph for this function:

Variable Documentation

◆ __cxa_guard_mutex

LockingData_t __cxa_guard_mutex = LOCKING_DATA_INIT
static

Mutex used in __cxa_guard_acquire, __cxa_guard_release and __cxa_guard_abort