Atomic.pointerAdd

Atomically adds @val to the value of @atomic.

Think of this operation as an atomic version of { tmp = *atomic; *atomic += val; return tmp; }.

This call acts as a full compiler and hardware memory barrier.

struct Atomic
static
ptrdiff_t
pointerAdd
(
void* atomic
,
ptrdiff_t val
)

Parameters

atomic void*

a pointer to a #gpointer-sized value

val ptrdiff_t

the value to add

Return: the value of @atomic before the add, signed

Meta

Since

2.30