zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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