authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-05-27 17:28:59-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-05-27 17:28:59-04:00
log3640303ce1585f266f94e2c815287cb590478e0d
tree02289065efbdca8241f78cb195eeddb20b59a2aa
parentaf4b8eb6c087618729c821269e9f6d662d5f193c
signaturelock-open Commit is signed but in an unrecognized format.

freebsd fixes


4 files changed, 11 insertions(+), 3 deletions(-)

std/c.zig+1-1
......@@ -72,7 +72,7 @@ pub extern "c" fn setreuid(ruid: c_uint, euid: c_uint) c_int;
7272pub extern "c" fn setregid(rgid: c_uint, egid: c_uint) c_int;
7373pub extern "c" fn rmdir(path: [*]const u8) c_int;
7474pub extern "c" fn getenv(name: [*]const u8) ?[*]u8;
75pub extern "c" fn sysctl(name: [*]c_int, namelen: c_uint, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int;
75pub extern "c" fn sysctl(name: [*]const c_int, namelen: c_uint, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int;
7676pub extern "c" fn sysctlbyname(name: [*]const u8, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int;
7777pub extern "c" fn sysctlnametomib(name: [*]const u8, mibp: ?*c_int, sizep: ?*usize) c_int;
7878
std/os.zig+3-1
......@@ -2071,6 +2071,7 @@ pub fn pipe2(flags: u32) PipeError![2]fd_t {
20712071pub const SysCtlError = error{
20722072 PermissionDenied,
20732073 SystemResources,
2074 NameTooLong,
20742075 Unexpected,
20752076};
20762077
......@@ -2081,7 +2082,8 @@ pub fn sysctl(
20812082 newp: ?*c_void,
20822083 newlen: usize,
20832084) SysCtlError!void {
2084 switch (errno(system.sysctl(name.ptr, name.len, oldp, oldlenp, newp, newlen))) {
2085 const name_len = math.cast(c_uint, name.len) catch return error.NameTooLong;
2086 switch (errno(system.sysctl(name.ptr, name_len, oldp, oldlenp, newp, newlen))) {
20852087 0 => return,
20862088 EFAULT => unreachable,
20872089 EPERM => return error.PermissionDenied,
std/os/bits/freebsd.zig+3
......@@ -1,3 +1,6 @@
1const std = @import("../../std.zig");
2const maxInt = std.math.maxInt;
3
14pub const fd_t = c_int;
25pub const pid_t = c_int;
36
std/thread.zig+4-1
......@@ -340,7 +340,10 @@ pub const Thread = struct {
340340 var count: c_int = undefined;
341341 var count_len: usize = @sizeOf(c_int);
342342 const name = if (os.darwin.is_the_target) c"hw.logicalcpu" else c"hw.ncpu";
343 try os.sysctlbynameC(name, @ptrCast(*c_void, &count), &count_len, null, 0);
343 os.sysctlbynameC(name, &count, &count_len, null, 0) catch |err| switch (err) {
344 error.NameTooLong => unreachable,
345 else => |e| return e,
346 };
344347 return @intCast(usize, count);
345348 }
346349};