chiark
/
gitweb
/
~ianmdlvl
/
otter.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1aad9d4
)
clock: Fix spinning
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sat, 20 Mar 2021 19:20:50 +0000
(19:20 +0000)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sat, 20 Mar 2021 21:52:49 +0000
(21:52 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/clock.rs
patch
|
blob
|
history
diff --git
a/src/clock.rs
b/src/clock.rs
index aa8faa2dd863d033db98f3ce5b42f8713b4bbe52..ce9a065f37772c78368264f71871d8fbb126631d 100644
(file)
--- a/
src/clock.rs
+++ b/
src/clock.rs
@@
-297,8
+297,6
@@
impl ThreadState {
#[throws(IE)]
fn run(mut self) {
loop {
- // xxx this seems to spin
-
match self.next_wakeup {
Some(wakeup) => {
let timeout = wakeup - now()?;
@@
-341,10
+339,11
@@
impl ThreadState {
|| internal_error_bydebug(&state)
)?.expires - now;
state.users[user].remaining = remaining;
-
Some(
libc::timespec {
+
let pause: TimeSpec =
libc::timespec {
tv_sec: 0,
tv_nsec: remaining.tv_nsec(),
- }.into())
+ }.into();
+ Some(pause + now)
} else {
None
};