mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-03-08 01:24:49 +01:00
std.Io.Threaded: handle errors from clockResolution
This commit is contained in:
parent
184c8f9545
commit
1ab5a58474
1 changed files with 5 additions and 3 deletions
|
|
@ -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),
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue