atomicPointerOr
fn
size_t atomicPointerOr(void * atomic, size_t val)Performs an atomic bitwise 'or' of the value of atomic and val, storing the result back in 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.
While atomic has a volatile qualifier, this is a historical artifact and the pointer passed to it should not be volatile.
In GLib 2.80, the return type was changed from #gsize to #guintptr to add support for platforms with 128-bit pointers. This should not affect existing code.
Parameters
atomic | a pointer to a #gpointer-sized value |
val | the value to 'or' |
Returns
the value of atomic before the operation, unsigned