From 1ab5a58474d69ba8b9cc63a7ce3eb9b5338c5d2d Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 3 Feb 2026 12:00:14 -0800 Subject: [PATCH] std.Io.Threaded: handle errors from clockResolution --- lib/std/Io/Threaded.zig | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig index 6255d96978..621dfb28d8 100644 --- a/lib/std/Io/Threaded.zig +++ b/lib/std/Io/Threaded.zig @@ -10858,14 +10858,15 @@ fn clockResolution(userdata: ?*anyopaque, clock: Io.Clock) Io.Clock.ResolutionEr const result = scale >> 32; return .fromNanoseconds(result); }, - .cpu_process, .cpu_thread => return .zero, + .cpu_process, .cpu_thread => return error.ClockUnavailable, }, .wasi => { if (builtin.link_libc) return clockResolutionPosix(clock); var ns: std.os.wasi.timestamp_t = undefined; return switch (std.os.wasi.clock_res_get(clockToWasi(clock), &ns)) { .SUCCESS => .fromNanoseconds(ns), - else => .zero, + .INVAL => return error.ClockUnavailable, + else => |err| return posix.unexpectedErrno(err), }; }, else => return clockResolutionPosix(clock), @@ -10877,7 +10878,8 @@ fn clockResolutionPosix(clock: Io.Clock) Io.Clock.ResolutionError!Io.Duration { var timespec: posix.timespec = undefined; return switch (posix.errno(posix.system.clock_getres(clock_id, ×pec))) { .SUCCESS => .fromNanoseconds(nanosecondsFromPosix(×pec)), - else => .zero, + .INVAL => return error.ClockUnavailable, + else => |err| return posix.unexpectedErrno(err), }; }