mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 15:56:41 +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 |
||
---|---|---|
.. | ||
audio_out_session | ||
blit | ||
block | ||
block_session | ||
dde_kit | ||
drivers/timer | ||
file_system_session | ||
framebuffer_session | ||
gpio_session | ||
gpu | ||
init | ||
input | ||
input_session | ||
ldso | ||
loader_session | ||
net | ||
nic | ||
nic_session | ||
nitpicker_gfx | ||
nitpicker_session | ||
nitpicker_view | ||
os | ||
packet_stream_rx | ||
packet_stream_tx | ||
pci_device | ||
pci_session | ||
platform | ||
rtc_session | ||
terminal_session | ||
timer_session | ||
uart_session | ||
util | ||
xev_track |