Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- a/lib/kernel/atomics.cl
- +++ b/lib/kernel/atomics.cl
- @@ -152,9 +152,11 @@ T atomic_cmpxchg(volatile Q T *p, T cmp, T val)
- union { intptr_t i; volatile T *p; } u2;
- u1.p = p;
- u2.i = u1.i;
- - __atomic_compare_exchange_n(u2.p, &cmp, val, false,
- - __ATOMIC_RELAXED, __ATOMIC_RELAXED);
- - return cmp;
- + if (!__atomic_compare_exchange_n(u2.p, &cmp, val, false,
- + __ATOMIC_RELAXED, __ATOMIC_RELAXED))
- + return cmp;
- + else
- + return val;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement