Atomic.pointerAnd

Performs an atomic bitwise 'and' of the value of @atomic and @val, storing the result back in @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
size_t
pointerAnd
(
void* atomic
,
size_t val
)

Parameters

atomic void*

a pointer to a #gpointer-sized value

val size_t

the value to 'and'

Return: the value of @atomic before the operation, unsigned

Meta

Since

2.30