Declaration [src]

g_atomic_pointer_add (
  void* atomic,
  gssize val

Description [src]

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.

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


atomic void*

A pointer to a #gpointer-sized value.

 The data is owned by the caller of the function.
val gssize

The value to add.

Return value

Returns: gssize

The value of atomic before the add, signed.