authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2020-12-09 21:34:28+01:00
committergravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2020-12-10 09:23:48+01:00
log88e3a7d6dc7289103b8a644aaf6a63437ff6b6b5
tree32541034ecc2afdb8a2f3f9bf2f92bffcec81ca0
parent5e91cc2fe38cd5fd4a481629ba1d72a8c66b46e6

std: Fix misuse of atomic.Int


1 files changed, 3 insertions(+), 3 deletions(-)

lib/std/os.zig+3-3
...@@ -5214,7 +5214,7 @@ pub const CopyFileRangeError = error{...@@ -5214,7 +5214,7 @@ pub const CopyFileRangeError = error{
52145214
5215var has_copy_file_range_syscall = init: {5215var has_copy_file_range_syscall = init: {
5216 const kernel_has_syscall = std.Target.current.os.isAtLeast(.linux, .{ .major = 4, .minor = 5 }) orelse true;5216 const kernel_has_syscall = std.Target.current.os.isAtLeast(.linux, .{ .major = 4, .minor = 5 }) orelse true;
5217 break :init std.atomic.Int(bool).init(kernel_has_syscall);5217 break :init std.atomic.Bool.init(kernel_has_syscall);
5218};5218};
52195219
5220/// Transfer data between file descriptors at specified offsets.5220/// Transfer data between file descriptors at specified offsets.
...@@ -5246,7 +5246,7 @@ pub fn copy_file_range(fd_in: fd_t, off_in: u64, fd_out: fd_t, off_out: u64, len...@@ -5246,7 +5246,7 @@ pub fn copy_file_range(fd_in: fd_t, off_in: u64, fd_out: fd_t, off_out: u64, len
5246 const use_c = std.c.versionCheck(.{ .major = 2, .minor = 27, .patch = 0 }).ok;5246 const use_c = std.c.versionCheck(.{ .major = 2, .minor = 27, .patch = 0 }).ok;
52475247
5248 if (std.Target.current.os.tag == .linux and5248 if (std.Target.current.os.tag == .linux and
5249 (use_c or has_copy_file_range_syscall.get()))5249 (use_c or has_copy_file_range_syscall.load(.Monotonic)))
5250 {5250 {
5251 const sys = if (use_c) std.c else linux;5251 const sys = if (use_c) std.c else linux;
52525252
...@@ -5271,7 +5271,7 @@ pub fn copy_file_range(fd_in: fd_t, off_in: u64, fd_out: fd_t, off_out: u64, len...@@ -5271,7 +5271,7 @@ pub fn copy_file_range(fd_in: fd_t, off_in: u64, fd_out: fd_t, off_out: u64, len
5271 EXDEV => {},5271 EXDEV => {},
5272 // syscall added in Linux 4.5, use fallback5272 // syscall added in Linux 4.5, use fallback
5273 ENOSYS => {5273 ENOSYS => {
5274 has_copy_file_range_syscall.set(false);5274 has_copy_file_range_syscall.store(true, .Monotonic);
5275 },5275 },
5276 else => |err| return unexpectedErrno(err),5276 else => |err| return unexpectedErrno(err),
5277 }5277 }