Linux Audio
Check our new training course
1cat <<EOF 2 ${int} r, o = *old; 3 r = raw_${atomic}_cmpxchg${order}(v, o, new); 4 if (unlikely(r != o)) 5 *old = r; 6 return likely(r == o); 7EOF
1cat <<EOF 2static inline bool 3${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new) 4{ 5 ${int} r, o = *old; 6 r = ${atomic}_cmpxchg${order}(v, o, new); 7 if (unlikely(r != o)) 8 *old = r; 9 return likely(r == o); 10} 11EOF