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 |
||
---|---|---|
.. | ||
doc | ||
include | ||
lib | ||
recipes | ||
run | ||
src | ||
README |
This source-code repository contains genuine low-level OS components and interfaces of Genode. It solely depends on the framework's base API.