This function performs an atomic bitwise inclusive OR operation on the variable __v with the variable that __p points to. The result is stored in the address that is specified by __p.
A full memory barrier is created when this function is invoked.
T __sync_fetch_and_or (T* __p, U __v, ...);
The function returns the initial value of the variable that __p points to.