mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
11 lines
268 B
Zig
11 lines
268 B
Zig
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
|