mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 20:42:56 +01:00
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
24 lines
444 B
Makefile
Executable File
24 lines
444 B
Makefile
Executable File
#
|
|
# \brief Timer session server specific for base-hw and PBXA9
|
|
# \author Martin Stein
|
|
# \date 2012-05-03
|
|
#
|
|
|
|
# Set program name
|
|
TARGET = timer
|
|
|
|
# Add C++ sources
|
|
SRC_CC += main.cc
|
|
|
|
# Skip build if required specs not fullfilled
|
|
REQUIRES += hw_pbxa9
|
|
|
|
# Add libraries
|
|
LIBS += cxx server env alarm signal
|
|
|
|
# Add include paths
|
|
INC_DIR += $(PRG_DIR) $(PRG_DIR)/../ $(PRG_DIR)/../../include
|
|
|
|
# Declare source paths
|
|
vpath main.cc $(PRG_DIR)/../..
|