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.
Before version 2.30, this function did not return a value (but g_atomic_int_exchange_and_add() did, and had the same meaning).
While @atomic has a volatile qualifier, this is a historical artifact and the pointer passed to it should not be volatile.
a pointer to a #gint or #guint
the value to add
the value of @atomic before the add, signed
2.4
See Implementation
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.
Before version 2.30, this function did not return a value (but g_atomic_int_exchange_and_add() did, and had the same meaning).
While @atomic has a volatile qualifier, this is a historical artifact and the pointer passed to it should not be volatile.