diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig index 63af3796b79b..e6d1c79d01ff 100644 --- a/lib/std/Thread.zig +++ b/lib/std/Thread.zig @@ -761,7 +761,7 @@ const PosixThreadImpl = struct { var count_len: usize = @sizeOf(c_int); const name = if (comptime target.os.tag.isDarwin()) "hw.logicalcpu" else "hw.ncpu"; posix.sysctlbynameZ(name, &count, &count_len, null, 0) catch |err| switch (err) { - error.NameTooLong, error.UnknownName => unreachable, + error.UnknownName => unreachable, else => |e| return e, }; return @as(usize, @intCast(count)); diff --git a/lib/std/posix.zig b/lib/std/posix.zig index 90ab157f0c20..12d30185c735 100644 --- a/lib/std/posix.zig +++ b/lib/std/posix.zig @@ -5219,13 +5219,19 @@ pub fn sysctl( } } +pub const SysCtlByNameError = error{ + PermissionDenied, + SystemResources, + UnknownName, +} || UnexpectedError; + pub fn sysctlbynameZ( name: [*:0]const u8, oldp: ?*anyopaque, oldlenp: ?*usize, newp: ?*anyopaque, newlen: usize, -) SysCtlError!void { +) SysCtlByNameError!void { if (native_os == .wasi) { @compileError("sysctl not supported on WASI"); } diff --git a/lib/std/process.zig b/lib/std/process.zig index 2e9cb1fe85a8..360c3f6af087 100644 --- a/lib/std/process.zig +++ b/lib/std/process.zig @@ -1759,7 +1759,7 @@ pub fn totalSystemMemory() TotalSystemMemoryError!u64 { var physmem: c_ulong = undefined; var len: usize = @sizeOf(c_ulong); posix.sysctlbynameZ("hw.physmem", &physmem, &len, null, 0) catch |err| switch (err) { - error.NameTooLong, error.UnknownName => unreachable, + error.UnknownName => unreachable, else => return error.UnknownTotalSystemMemory, }; return @as(usize, @intCast(physmem)); diff --git a/lib/std/zig/system.zig b/lib/std/zig/system.zig index ba43543ee235..41d2aef3f905 100644 --- a/lib/std/zig/system.zig +++ b/lib/std/zig/system.zig @@ -228,7 +228,6 @@ pub fn resolveTargetQuery(query: Target.Query) DetectError!Target { var len: usize = @sizeOf(@TypeOf(value)); posix.sysctlbynameZ(key, &value, &len, null, 0) catch |err| switch (err) { - error.NameTooLong => unreachable, // constant, known good value error.PermissionDenied => unreachable, // only when setting values, error.SystemResources => unreachable, // memory already on the stack error.UnknownName => unreachable, // constant, known good value diff --git a/lib/std/zig/system/darwin/macos.zig b/lib/std/zig/system/darwin/macos.zig index eba837fb497e..eecb857465ad 100644 --- a/lib/std/zig/system/darwin/macos.zig +++ b/lib/std/zig/system/darwin/macos.zig @@ -397,7 +397,6 @@ pub fn detectNativeCpuAndFeatures() ?Target.Cpu { var cpu_family: std.c.CPUFAMILY = undefined; var len: usize = @sizeOf(std.c.CPUFAMILY); std.posix.sysctlbynameZ("hw.cpufamily", &cpu_family, &len, null, 0) catch |err| switch (err) { - error.NameTooLong => unreachable, // constant, known good value error.PermissionDenied => unreachable, // only when setting values, error.SystemResources => unreachable, // memory already on the stack error.UnknownName => unreachable, // constant, known good value