not_atomic_cmpxchgStrong.zig (268B) - Raw
1 fn cmpxchgStrongButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_value: T) ?T { 2 const old_value = ptr.*; 3 if (old_value == expected_value) { 4 ptr.* = new_value; 5 return null; 6 } else { 7 return old_value; 8 } 9 } 10 11 // syntax