sdl.atomic

Atomics

Members

Aliases

SDL_SpinLock
alias SDL_SpinLock = int

An atomic spinlock.

Functions

SDL_AddAtomicInt
int SDL_AddAtomicInt(SDL_AtomicInt* a, int v)

Add to an atomic variable.

SDL_CompareAndSwapAtomicInt
bool SDL_CompareAndSwapAtomicInt(SDL_AtomicInt* a, int oldval, int newval)

Set an atomic variable to a new value if it is currently an old value.

SDL_CompareAndSwapAtomicPointer
bool SDL_CompareAndSwapAtomicPointer(void** a, void* oldval, void* newval)

Set a pointer to a new value if it is currently an old value.

SDL_CompareAndSwapAtomicU32
bool SDL_CompareAndSwapAtomicU32(SDL_AtomicU32* a, Uint32 oldval, Uint32 newval)

Set an atomic variable to a new value if it is currently an old value.

SDL_GetAtomicInt
int SDL_GetAtomicInt(SDL_AtomicInt* a)

Get the value of an atomic variable.

SDL_GetAtomicPointer
void* SDL_GetAtomicPointer(void** a)

Get the value of a pointer atomically.

SDL_GetAtomicU32
Uint32 SDL_GetAtomicU32(SDL_AtomicU32* a)

Get the value of an atomic variable.

SDL_LockSpinlock
void SDL_LockSpinlock(SDL_SpinLock* lock)

Lock a spin lock by setting it to a non-zero value.

SDL_MemoryBarrierAcquireFunction
void SDL_MemoryBarrierAcquireFunction()

Insert a memory acquire barrier (function version).

SDL_MemoryBarrierReleaseFunction
void SDL_MemoryBarrierReleaseFunction()

Insert a memory release barrier (function version).

SDL_SetAtomicInt
int SDL_SetAtomicInt(SDL_AtomicInt* a, int v)

Set an atomic variable to a value.

SDL_SetAtomicPointer
void* SDL_SetAtomicPointer(void** a, void* v)

Set a pointer to a value atomically.

SDL_SetAtomicU32
Uint32 SDL_SetAtomicU32(SDL_AtomicU32* a, Uint32 v)

Set an atomic variable to a value.

SDL_TryLockSpinlock
bool SDL_TryLockSpinlock(SDL_SpinLock* lock)

Try to lock a spin lock by setting it to a non-zero value.

SDL_UnlockSpinlock
void SDL_UnlockSpinlock(SDL_SpinLock* lock)

Unlock a spin lock by setting it to 0.

Structs

SDL_AtomicInt
struct SDL_AtomicInt

A type representing an atomic integer value.

SDL_AtomicU32
struct SDL_AtomicU32

A type representing an atomic unsigned 32-bit value.

See Also

Meta

License

Subject to the terms of the Zlib License, as written in the LICENSE file.

Authors

Luna Nielsen