commit 1ab5a58474d69ba8b9cc63a7ce3eb9b5338c5d2d (tree)
parent 184c8f9545944333bf122203c8d813785b43df8a
Author: Andrew Kelley <andrew@ziglang.org>
Date: Tue, 3 Feb 2026 12:00:14 -0800
std.Io.Threaded: handle errors from clockResolution
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git 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),
};
}