authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-02-03 12:00:14-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-02-03 12:00:14-08:00
log1ab5a58474d69ba8b9cc63a7ce3eb9b5338c5d2d
treef02b6474ee4dadbfbbc5464738d35f64aa12ef19
parent184c8f9545944333bf122203c8d813785b43df8a

std.Io.Threaded: handle errors from clockResolution


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

lib/std/Io/Threaded.zig+5-3
......@@ -10858,14 +10858,15 @@ fn clockResolution(userdata: ?*anyopaque, clock: Io.Clock) Io.Clock.ResolutionEr
1085810858 const result = scale >> 32;
1085910859 return .fromNanoseconds(result);
1086010860 },
10861 .cpu_process, .cpu_thread => return .zero,
10861 .cpu_process, .cpu_thread => return error.ClockUnavailable,
1086210862 },
1086310863 .wasi => {
1086410864 if (builtin.link_libc) return clockResolutionPosix(clock);
1086510865 var ns: std.os.wasi.timestamp_t = undefined;
1086610866 return switch (std.os.wasi.clock_res_get(clockToWasi(clock), &ns)) {
1086710867 .SUCCESS => .fromNanoseconds(ns),
10868 else => .zero,
10868 .INVAL => return error.ClockUnavailable,
10869 else => |err| return posix.unexpectedErrno(err),
1086910870 };
1087010871 },
1087110872 else => return clockResolutionPosix(clock),
......@@ -10877,7 +10878,8 @@ fn clockResolutionPosix(clock: Io.Clock) Io.Clock.ResolutionError!Io.Duration {
1087710878 var timespec: posix.timespec = undefined;
1087810879 return switch (posix.errno(posix.system.clock_getres(clock_id, &timespec))) {
1087910880 .SUCCESS => .fromNanoseconds(nanosecondsFromPosix(&timespec)),
10880 else => .zero,
10881 .INVAL => return error.ClockUnavailable,
10882 else => |err| return posix.unexpectedErrno(err),
1088110883 };
1088210884}
1088310885