mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-22 23:12:24 +00:00
3049c1004c
The 'Timer::Session::msleep' function is one of the last occurrences of long-blocking RPC calls. Synchronous blocking RPC interfaces turned out to be constant source of trouble and code complexity. I.e., a timer client that also wants to respond to non-timer events was forced to be a multi-threaded process. This patch replaces the blocking 'msleep' call by a mechanism for programming timeouts and receiving wakeup signals in an asynchronous fashion. Thereby signals originating from the timer can be handled along with signals from other signal sources by a single thread. The changed interface has been tested on Linux, L4/Fiasco, OKL4, NOVA, L4ka::Pistachio, Codezero, Fiasco.OC, and hw_pbxa9. Furthermore, this patch adds the timer test to autopilot. Fixes #1 |
||
---|---|---|
.. | ||
ahci.run | ||
bomb.run | ||
chroot_loader.run | ||
chroot.run | ||
config_args.run | ||
demo.run | ||
dynamic_config_loader.run | ||
dynamic_config_slave.run | ||
dynamic_config.run | ||
failsafe.run | ||
framebuffer.run | ||
gpio_drv.run | ||
ldso.run | ||
loader.run | ||
mixer.run | ||
panda_uart4_echo.run | ||
part_blk.run | ||
ram_fs_chunk.run | ||
rom_blk.run | ||
sd_card_bench.run | ||
sd_card.run | ||
signal.run | ||
tar_rom.run | ||
terminal_crosslink.run | ||
thread_join.run | ||
timed_semaphore.run | ||
timer.run | ||
uart.run | ||
vmm.run |