mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 05:37:54 +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
21 lines
201 B
Plaintext
21 lines
201 B
Plaintext
ldso
|
|
timer
|
|
lwip
|
|
rm_fault
|
|
rom_blk
|
|
tar_rom
|
|
noux
|
|
noux_net_netcat
|
|
libc_ffat
|
|
timed_semaphore
|
|
signal
|
|
sub_rm
|
|
python
|
|
l4linux
|
|
lx_hybrid_ctors
|
|
lx_hybrid_exception
|
|
lx_hybrid_pthread_ipc
|
|
moon
|
|
thread_join
|
|
failsafe
|