authorgravatar for yujiri@disroot.orgyujiri8 <yujiri@disroot.org> 2023-05-22 06:34:39-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2023-05-22 13:34:39+03:00
loga1bb9e94d402eb678635fc92fe7f990a69fd144c
tree1fbe48c7dbd4772aaa7951d3f8429a41aa635937
parent768965788ecb9a0a70b4363f9472471bb0bbe5ec
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

fix type errors in os.linux (#15801)

* fix NUMA-related functions in os.linux * fix os.linux.CPU_ISSET

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

lib/std/os/linux.zig+4-4
...@@ -1520,19 +1520,19 @@ pub fn sched_getaffinity(pid: pid_t, size: usize, set: *cpu_set_t) usize {...@@ -1520,19 +1520,19 @@ pub fn sched_getaffinity(pid: pid_t, size: usize, set: *cpu_set_t) usize {
1520}1520}
15211521
1522pub fn getcpu(cpu: *u32, node: *u32) usize {1522pub fn getcpu(cpu: *u32, node: *u32) usize {
1523 return syscall3(.getcpu, cpu, node, null);1523 return syscall3(.getcpu, @ptrToInt(cpu), @ptrToInt(node), 0);
1524}1524}
15251525
1526pub fn sched_getcpu() usize {1526pub fn sched_getcpu() usize {
1527 var cpu: u32 = undefined;1527 var cpu: u32 = undefined;
1528 const rc = syscall3(.getcpu, &cpu, null, null);1528 const rc = syscall3(.getcpu, @ptrToInt(&cpu), 0, 0);
1529 if (@bitCast(isize, rc) < 0) return rc;1529 if (@bitCast(isize, rc) < 0) return rc;
1530 return @intCast(usize, cpu);1530 return @intCast(usize, cpu);
1531}1531}
15321532
1533/// libc has no wrapper for this syscall1533/// libc has no wrapper for this syscall
1534pub fn mbind(addr: ?*anyopaque, len: u32, mode: i32, nodemask: *const u32, maxnode: u32, flags: u32) usize {1534pub fn mbind(addr: ?*anyopaque, len: u32, mode: i32, nodemask: *const u32, maxnode: u32, flags: u32) usize {
1535 return syscall6(.mbind, addr, len, mode, nodemask, maxnode, flags);1535 return syscall6(.mbind, @ptrToInt(addr), len, @bitCast(usize, @as(isize, mode)), @ptrToInt(nodemask), maxnode, flags);
1536}1536}
15371537
1538pub fn sched_setaffinity(pid: pid_t, size: usize, set: *const cpu_set_t) usize {1538pub fn sched_setaffinity(pid: pid_t, size: usize, set: *const cpu_set_t) usize {
...@@ -3623,7 +3623,7 @@ pub fn CPU_SET(cpu: usize, set: *cpu_set_t) void {...@@ -3623,7 +3623,7 @@ pub fn CPU_SET(cpu: usize, set: *cpu_set_t) void {
3623pub fn CPU_ISSET(cpu: usize, set: cpu_set_t) bool {3623pub fn CPU_ISSET(cpu: usize, set: cpu_set_t) bool {
3624 const x = cpu / @sizeOf(usize);3624 const x = cpu / @sizeOf(usize);
3625 if (x < @sizeOf(cpu_set_t)) {3625 if (x < @sizeOf(cpu_set_t)) {
3626 return set[x] & cpu_mask(x);3626 return set[x] & cpu_mask(x) != 0;
3627 }3627 }
3628 return false;3628 return false;
3629}3629}