diff --git a/std/src/sys/pal/hermit/thread.rs b/std/src/sys/pal/hermit/thread.rs index 6321f92e3d9d0..bc70b3ac1705c 100644 --- a/std/src/sys/pal/hermit/thread.rs +++ b/std/src/sys/pal/hermit/thread.rs @@ -77,8 +77,10 @@ impl Thread { #[inline] pub fn sleep(dur: Duration) { + let micros = dur.as_micros() + if dur.subsec_nanos() % 1_000 > 0 { 1 } else { 0 }; + unsafe { - hermit_abi::usleep(dur.as_micros() as u64); + hermit_abi::usleep(micros as u64); } }