add


Description:

[ Version ( since = "2.30" ) ]
[ CCode ( cname = "g_atomic_int_add" ) ]
public uint add (ref uint atomic, uint val)

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

While atomic has a `volatile` qualifier, this is a historical artifact and the pointer passed to it should not be `volatile`.

Parameters:

atomic

a pointer to a int or uint

val

the value to add

Returns:

the value of atomic before the add, signed


Namespace: GLib.AtomicUint
Package: glib-2.0