mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-21 10:01:57 +00:00
We update the alarm-scheduler time with results of Timer::Connection::curr_time when we schedule new timeouts but when handling the signal from the Timer server we updated the alarm-scheduler time with the result of Timer::Connection::elapsed_us. Mixing times like this could cause a non-monotone time value in the alarm scheduler. The alarm scheduler then thought that the time value wrapped and triggered all timeouts immediately. The problem was fixed by always using Timer::Connection::curr_time as time source. Ref #2490
This source-code repository contains genuine low-level OS components and interfaces of Genode. It solely depends on the framework's base API.