diff --git a/crates/wasi-common/cap-std-sync/src/clocks.rs b/crates/wasi-common/cap-std-sync/src/clocks.rs index 2f677ec0d1..3f17ae1e48 100644 --- a/crates/wasi-common/cap-std-sync/src/clocks.rs +++ b/crates/wasi-common/cap-std-sync/src/clocks.rs @@ -33,7 +33,7 @@ impl WasiMonotonicClock for MonotonicClock { } } -pub fn clocks() -> WasiClocks { +pub fn clocks_ctx() -> WasiClocks { let system = Box::new(unsafe { SystemClock::new() }); let monotonic = unsafe { cap_std::time::MonotonicClock::new() }; let creation_time = monotonic.now(); diff --git a/crates/wasi-common/cap-std-sync/src/lib.rs b/crates/wasi-common/cap-std-sync/src/lib.rs index 2bb2aecc2e..2661b701d0 100644 --- a/crates/wasi-common/cap-std-sync/src/lib.rs +++ b/crates/wasi-common/cap-std-sync/src/lib.rs @@ -4,6 +4,9 @@ pub mod file; pub mod sched; pub mod stdio; +pub use clocks::clocks_ctx; +pub use sched::sched_ctx; + use cap_rand::RngCore; use std::cell::RefCell; use std::path::Path; @@ -15,9 +18,9 @@ pub struct WasiCtxBuilder(wasi_common::WasiCtxBuilder); impl WasiCtxBuilder { pub fn new() -> Self { WasiCtxBuilder(WasiCtx::builder( - random(), - clocks::clocks(), - Box::new(sched::SyncSched::new()), + random_ctx(), + clocks_ctx(), + sched_ctx(), Rc::new(RefCell::new(Table::new())), )) } @@ -91,6 +94,6 @@ impl WasiCtxBuilder { } } -pub fn random() -> RefCell> { +pub fn random_ctx() -> RefCell> { RefCell::new(Box::new(unsafe { cap_rand::rngs::OsRng::default() })) } diff --git a/crates/wasi-common/cap-std-sync/src/sched.rs b/crates/wasi-common/cap-std-sync/src/sched.rs index a6828c2935..43af68a952 100644 --- a/crates/wasi-common/cap-std-sync/src/sched.rs +++ b/crates/wasi-common/cap-std-sync/src/sched.rs @@ -7,3 +7,9 @@ pub use unix::*; mod windows; #[cfg(windows)] pub use windows::*; + +use wasi_common::sched::WasiSched; + +pub fn sched_ctx() -> Box { + Box::new(SyncSched::new()) +}