mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-06 11:10:24 +00:00
The alarm library failed to handle the case properly where an already scheduled alarm gets rescheduled before it triggered. Even though the attempt to reschedule the alarm (twice insertion into alarm queue) was detected, this condition resulted in the mere modification of the alarm's parameters while keeping the alarm's queue position unchanged. This, in turn, may violate the invariant that all enqueued alarm objects are strictly ordered by their deadlines. The patch handles the case by dequeuing the alarm object before reinserting it into the queue at the right position. Fixes #1646
This is the example operating system based on the Genode OS framework: :_Init_: is the first real process in the system. The provided implementation uses a very simple XML parser to read its configuration files. :_Drivers_: The example OS has basic drivers for frame buffer, mouse and keyboard input, the PCI bus, the real-time clock, and system-specific timers. :_Server_: The only server in the example OS is Nitpicker, a minimal-complexity GUI server. :_Test_: are also part of the example OS. You may have a look at the fork bomb as a simple system stress test. :_Ldso_: is the dynamic linker used for loading executables that are linked against shared libraries. :_Lib_: contains libraries used by the components of the OS repository, for example, the alarm framework.