GLib.atomic_int_xor (original) (raw)
Function
GLibatomic_int_xor
since: 2.30
Declaration [src]
guint
g_atomic_int_xor (
volatile guint* atomic,
guint val
)
Description [src]
Performs an atomic bitwise ‘xor’ 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.
While atomic
has a volatile
qualifier, this is a historical artifact and the pointer passed to it should not be volatile
.
Available since: 2.30
Parameters
atomic
Type: volatile guint*
A pointer to a #gint or #guint.
The argument can be NULL. |
---|
The data is owned by the caller of the function. |
val
Type: guint
The value to ‘xor’.
Return value
Type: guint
The value of atomic
before the operation, unsigned.