From 892043ed7660386f42b67b414cae0ccdb9288212 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Thu, 16 Mar 2017 11:32:28 +0100 Subject: [PATCH] init: trigger report update on version change If the version attribute of init's is changes, trigger the generation of a new state report that includes the information of the new version. --- repos/os/src/init/state_reporter.h | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/repos/os/src/init/state_reporter.h b/repos/os/src/init/state_reporter.h index 4b22e16b9c..4739ab9c35 100644 --- a/repos/os/src/init/state_reporter.h +++ b/repos/os/src/init/state_reporter.h @@ -116,17 +116,24 @@ class Init::State_reporter : public Report_update_trigger _reporter->enabled(false); } - _version = config.attribute_value("version", Version()); + bool trigger_update = false; + + Version const version = config.attribute_value("version", Version()); + if (version != _version) { + _version = version; + trigger_update = true; + } if (_report_delay_ms) { - if (!_timer.constructed()) { _timer.construct(_env); _timer->sigh(_timer_handler); } - - trigger_report_update(); + trigger_update = true; } + + if (trigger_update) + trigger_report_update(); } void trigger_report_update() override