From cc84c693a355559237c72caa9688977a67bf3a52 Mon Sep 17 00:00:00 2001 From: Christopher Serr Date: Wed, 10 Mar 2021 16:09:34 +0100 Subject: [PATCH] wasi-common: Timestamps should be in nanoseconds (#2717) Sleeping takes 1000x longer than it should because the timestamps are interpreted as microseconds by accident. --- crates/wasi-common/src/snapshots/preview_0.rs | 4 ++-- crates/wasi-common/src/snapshots/preview_1.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/wasi-common/src/snapshots/preview_0.rs b/crates/wasi-common/src/snapshots/preview_0.rs index fc92e76f00..65f4823a3e 100644 --- a/crates/wasi-common/src/snapshots/preview_0.rs +++ b/crates/wasi-common/src/snapshots/preview_0.rs @@ -749,8 +749,8 @@ impl<'a> wasi_unstable::WasiUnstable for WasiCtx { types::SubscriptionU::Clock(clocksub) => match clocksub.id { types::Clockid::Monotonic => { let clock = self.clocks.monotonic.deref(); - let precision = Duration::from_micros(clocksub.precision); - let duration = Duration::from_micros(clocksub.timeout); + let precision = Duration::from_nanos(clocksub.precision); + let duration = Duration::from_nanos(clocksub.timeout); let deadline = if clocksub .flags .contains(types::Subclockflags::SUBSCRIPTION_CLOCK_ABSTIME) diff --git a/crates/wasi-common/src/snapshots/preview_1.rs b/crates/wasi-common/src/snapshots/preview_1.rs index 88b07b1f9a..d5ec0a586a 100644 --- a/crates/wasi-common/src/snapshots/preview_1.rs +++ b/crates/wasi-common/src/snapshots/preview_1.rs @@ -920,8 +920,8 @@ impl<'a> wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiCtx { types::SubscriptionU::Clock(clocksub) => match clocksub.id { types::Clockid::Monotonic => { let clock = self.clocks.monotonic.deref(); - let precision = Duration::from_micros(clocksub.precision); - let duration = Duration::from_micros(clocksub.timeout); + let precision = Duration::from_nanos(clocksub.precision); + let duration = Duration::from_nanos(clocksub.timeout); let deadline = if clocksub .flags .contains(types::Subclockflags::SUBSCRIPTION_CLOCK_ABSTIME)