diff options
| author | Martin Kröning <martin.kroening@eonerc.rwth-aachen.de> | 2024-08-25 20:49:23 +0200 |
|---|---|---|
| committer | Martin Kröning <martin.kroening@eonerc.rwth-aachen.de> | 2024-08-25 20:49:23 +0200 |
| commit | 687c8a1eabf039be5cccc9cfefb55dd825378b02 (patch) | |
| tree | e12d565d6d8e1e27a56ab636baf3e87ab379a206 /library/std/src/sys | |
| parent | 1a94d839be8b248b972b9e022cb940d56de72fa1 (diff) | |
| download | rust-687c8a1eabf039be5cccc9cfefb55dd825378b02.tar.gz rust-687c8a1eabf039be5cccc9cfefb55dd825378b02.zip | |
pal/hermit: correctly round up microseconds in `Thread::sleep`
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
Diffstat (limited to 'library/std/src/sys')
| -rw-r--r-- | library/std/src/sys/pal/hermit/thread.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/library/std/src/sys/pal/hermit/thread.rs b/library/std/src/sys/pal/hermit/thread.rs index 6321f92e3d9..bc70b3ac170 100644 --- a/library/std/src/sys/pal/hermit/thread.rs +++ b/library/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); } } |
