aboutsummaryrefslogtreecommitdiff
path: root/doc/langref/not_atomic_cmpxchgStrong.zig
blob: 6113ed60b309f99a6e00d3d6d2be59f299bfc280 (plain)
1
2
3
4
5
6
7
8
9
10
11
fn cmpxchgStrongButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_value: T) ?T {
    const old_value = ptr.*;
    if (old_value == expected_value) {
        ptr.* = new_value;
        return null;
    } else {
        return old_value;
    }
}

// syntax