atomicIntAnd

fnuint atomicIntAnd(ref uint atomic, uint val)

Performs an atomic bitwise 'and' of the value of atomic and val, storing the result back in atomic.

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

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

While atomic has a volatile qualifier, this is a historical artifact and the pointer passed to it should not be volatile.

Parameters

atomica pointer to a #gint or #guint
valthe value to 'and'

Returns

the value of atomic before the operation, unsigned