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).
Since 2.4
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). Since 2.4