diff --git a/repos/os/include/os/alarm.h b/repos/os/include/os/alarm.h index 43f51a6279..b2c1f02063 100644 --- a/repos/os/include/os/alarm.h +++ b/repos/os/include/os/alarm.h @@ -52,7 +52,7 @@ namespace Genode { * return value is 'true' and the alarm is periodically scheduled, * the alarm is scheduled again. */ - virtual bool on_alarm() { return false; } + virtual bool on_alarm(unsigned) { return false; } public: diff --git a/repos/os/include/os/timed_semaphore.h b/repos/os/include/os/timed_semaphore.h index 45f886d8e1..088e5f1b89 100644 --- a/repos/os/include/os/timed_semaphore.h +++ b/repos/os/include/os/timed_semaphore.h @@ -155,7 +155,7 @@ namespace Genode { protected: - bool on_alarm() + bool on_alarm(unsigned) override { /* Abort blocking operation */ _triggered = _sem->_abort(_element); diff --git a/repos/os/src/drivers/timer/include/timer_session_component.h b/repos/os/src/drivers/timer/include/timer_session_component.h index d97843f063..563efdd66a 100644 --- a/repos/os/src/drivers/timer/include/timer_session_component.h +++ b/repos/os/src/drivers/timer/include/timer_session_component.h @@ -122,9 +122,9 @@ namespace Timer { * * This function gets called by the 'Alarm_scheduler' thread. */ - bool on_alarm() + bool on_alarm (unsigned cnt) override { - Signal_transmitter(_sigh).submit(); + Signal_transmitter(_sigh).submit(cnt); return _periodic; } diff --git a/repos/os/src/lib/alarm/alarm.cc b/repos/os/src/lib/alarm/alarm.cc index 263ae46f58..5906e49ffb 100644 --- a/repos/os/src/lib/alarm/alarm.cc +++ b/repos/os/src/lib/alarm/alarm.cc @@ -113,7 +113,7 @@ void Alarm_scheduler::handle(Alarm::Time curr_time) while ((curr = _get_pending_alarm())) { /* do not reschedule if alarm function returns 0 */ - bool reschedule = curr->on_alarm(); + bool reschedule = curr->on_alarm(1); if (reschedule) { diff --git a/repos/os/src/lib/dde_kit/timer.cc b/repos/os/src/lib/dde_kit/timer.cc index 3c2119302d..1208b39f1e 100644 --- a/repos/os/src/lib/dde_kit/timer.cc +++ b/repos/os/src/lib/dde_kit/timer.cc @@ -134,7 +134,7 @@ class dde_kit_timer : public Alarm, public List::Element protected: - bool on_alarm() + bool on_alarm(unsigned) override { /* if timer is really pending, call registered handler function */ if (_pending) { diff --git a/repos/os/src/test/alarm/main.cc b/repos/os/src/test/alarm/main.cc index 9b6d2d83f9..0be161beb6 100644 --- a/repos/os/src/test/alarm/main.cc +++ b/repos/os/src/test/alarm/main.cc @@ -70,7 +70,7 @@ class One_shot_alarm : public Alarm protected: - bool on_alarm() + bool on_alarm(unsigned) override { printf("one-shot alarm %s triggered\n", _name); return false; @@ -95,7 +95,7 @@ class Periodic_alarm : public Alarm protected: - bool on_alarm() + bool on_alarm(unsigned) override { printf("periodic alarm %s triggered\n", _name); return true; diff --git a/repos/ports/src/app/netperf/timer.cc b/repos/ports/src/app/netperf/timer.cc index d3c6bf1e3f..d9e354994f 100644 --- a/repos/ports/src/app/netperf/timer.cc +++ b/repos/ports/src/app/netperf/timer.cc @@ -71,7 +71,7 @@ class One_shot : public Alarm protected: - bool on_alarm() + bool on_alarm(unsigned) override { times_up = 1; return false; diff --git a/repos/ports/src/noux/main.cc b/repos/ports/src/noux/main.cc index 6cfdf73e09..2fc89d5122 100644 --- a/repos/ports/src/noux/main.cc +++ b/repos/ports/src/noux/main.cc @@ -116,7 +116,8 @@ namespace Noux { void discard() { _scheduler->discard(this); } protected: - bool on_alarm() + + bool on_alarm(unsigned) override { _state->timed_out = true; _blocker->unlock(); diff --git a/repos/ports/src/virtualbox/sup.cc b/repos/ports/src/virtualbox/sup.cc index 5a585511c8..bd35cc59cc 100644 --- a/repos/ports/src/virtualbox/sup.cc +++ b/repos/ports/src/virtualbox/sup.cc @@ -44,7 +44,7 @@ PSUPGLOBALINFOPAGE g_pSUPGlobalInfoPage; class Periodic_GIP : public Genode::Alarm { - bool on_alarm() + bool on_alarm(unsigned) override { /** * We're using rdtsc here since timer_session->elapsed_ms produces