From 99bfc3c0e27d7ec80efed9460602f0736ee9154a Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 11 Jan 2017 18:32:03 +0100 Subject: [PATCH] test/decorator_stress: API transition Issue #1987 --- repos/gems/src/test/decorator_stress/main.cc | 37 +++++++++++++------ .../gems/src/test/decorator_stress/target.mk | 2 +- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/repos/gems/src/test/decorator_stress/main.cc b/repos/gems/src/test/decorator_stress/main.cc index f47038fea4..13e1ae4f0b 100644 --- a/repos/gems/src/test/decorator_stress/main.cc +++ b/repos/gems/src/test/decorator_stress/main.cc @@ -12,6 +12,7 @@ */ /* Genode includes */ +#include #include #include #include @@ -72,22 +73,34 @@ void report_window_layout(Param param, Genode::Reporter &reporter) } -int main(int argc, char **argv) +struct Main { - Param param(0, 1, 2, 3); + Genode::Env &_env; - Genode::Reporter window_layout_reporter("window_layout", "window_layout", 10*4096); - window_layout_reporter.enabled(true); + Param _param { 0, 1, 2, 3 }; - static Timer::Connection timer; + Genode::Reporter _window_layout_reporter { _env, "window_layout", "window_layout", 10*4096 }; - for (;;) { + Timer::Connection _timer { _env }; - report_window_layout(param, window_layout_reporter); + void _handle_timer() + { + report_window_layout(_param, _window_layout_reporter); - param = param + Param(0.0331/2, 0.042/2, 0.051/2, 0.04/2); - - timer.msleep(10); + _param = _param + Param(0.0331/2, 0.042/2, 0.051/2, 0.04/2); } - return 0; -} + + Genode::Signal_handler
_timer_handler { + _env.ep(), *this, &Main::_handle_timer }; + + Main(Genode::Env &env) : _env(env) + { + _window_layout_reporter.enabled(true); + _timer.sigh(_timer_handler); + _timer.trigger_periodic(10*1000); + } +}; + + +void Libc::Component::construct(Libc::Env &env) { static Main main(env); } + diff --git a/repos/gems/src/test/decorator_stress/target.mk b/repos/gems/src/test/decorator_stress/target.mk index b378eda347..be38e7f4aa 100644 --- a/repos/gems/src/test/decorator_stress/target.mk +++ b/repos/gems/src/test/decorator_stress/target.mk @@ -1,6 +1,6 @@ TARGET = test-decorator_stress SRC_CC = main.cc -LIBS = posix +LIBS = libc libm INC_DIR += $(PRG_DIR)