From f865b71f27b75ab350d66292657261649b75b8dd Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Mon, 22 May 2017 15:55:39 +0200 Subject: [PATCH] libc: fix expired-timer calculation --- repos/libports/src/lib/libc/task.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/repos/libports/src/lib/libc/task.cc b/repos/libports/src/lib/libc/task.cc index 9aa67f53f..edbc34e5b 100644 --- a/repos/libports/src/lib/libc/task.cc +++ b/repos/libports/src/lib/libc/task.cc @@ -252,7 +252,10 @@ struct Libc::Timeout { unsigned long const now = _timer_accessor.timer().curr_time(); - return _expired ? 0 : _absolute_timeout_ms - now; + if (_expired || _absolute_timeout_ms < now) + return 0; + + return _absolute_timeout_ms - now; } };