From: Waldemar Kozaczuk <[email protected]> Committer: Waldemar Kozaczuk <[email protected]> Branch: master
libc: refine how timerfd_* functions handle wall clock jumps This patch adjusts logic in timerfd::read() to re-arm clock when clock jumps backwards to the same expiration time point which is still ahead of us. Signed-off-by: Waldemar Kozaczuk <[email protected]> --- diff --git a/libc/timerfd.cc b/libc/timerfd.cc --- a/libc/timerfd.cc +++ b/libc/timerfd.cc @@ -205,7 +205,7 @@ int timerfd::read(uio *data, int flags) ret = 1 + count; } else { // Clock is REALTIME and now < _expiration (clock may have jumped backwards) - _wakeup_due = _expiration + _interval; + _wakeup_due = _expiration; _wakeup_change_cond.wake_one(); goto again; } -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/osv-dev/000000000000a17aa605a0ea1e86%40google.com.
