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 |