timeout: use uint64_t for all plain time values

This enforces the use of unsigned 64-bit values for time in the duration type,
the timeout framework, the timer session, the userland timer-drivers, and the
alarm framework on all platforms. The commit also adapts the code that uses
these tools accross all basic repositories (base, base-*, os. gems, libports,
ports, dde_*) to use unsigned 64-bit values for time as well as far as this
does not imply profound modifications.

Fixes #3208
This commit is contained in:
Martin Stein
2019-04-09 15:46:36 +02:00
committed by Christian Helmuth
parent e072ee480b
commit 181c78d482
122 changed files with 537 additions and 609 deletions

View File

@ -158,7 +158,7 @@ class Genode::Timeout : private Noncopyable
private:
typedef unsigned long Time;
typedef uint64_t Time;
struct Raw
{
@ -166,7 +166,7 @@ class Genode::Timeout : private Noncopyable
bool deadline_period;
Time period;
bool is_pending_at(unsigned long time, bool time_period) const;
bool is_pending_at(uint64_t time, bool time_period) const;
};
Lock _dispatch_lock { };
@ -188,7 +188,7 @@ class Genode::Timeout : private Noncopyable
void _alarm_reset() { _alarm_assign(0, 0, false, 0), _active = 0, _next = 0; }
bool _on_alarm(unsigned);
bool _on_alarm(uint64_t);
Alarm(Alarm const &);
Alarm &operator = (Alarm const &);