Function
GLibatomic_int_xor
since: 2.30
Declaration [src]
guint
g_atomic_int_xor(
volatileguint*atomic,
guintval
)
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 beNULL.The data is owned by the caller of the function. val-
Type:
guintThe value to ‘xor’.
Return value
Type: guint
The value of atomic before the operation, unsigned.