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 exchange_and_add did, and had the same meaning).
atomic | |
val |
the value to add |
the value of |