From e23fc5a1fce91a4efc4a032ce1ffcf92f4b57104 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 13 Dec 2017 20:14:46 +0100 Subject: [PATCH] init: refine verbosity handling This patch makes service-announce messages depend on the configured verbosity. It also omits "parent provides" title messages if no new parent services are added during a config update. --- repos/os/src/init/child.cc | 3 ++- repos/os/src/init/main.cc | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/repos/os/src/init/child.cc b/repos/os/src/init/child.cc index 11c828870c..c899051d92 100644 --- a/repos/os/src/init/child.cc +++ b/repos/os/src/init/child.cc @@ -606,7 +606,8 @@ Genode::Affinity Init::Child::filter_session_affinity(Affinity const &session_af void Init::Child::announce_service(Service::Name const &service_name) { - log("child \"", name(), "\" announces service \"", service_name, "\""); + if (_verbose.enabled()) + log("child \"", name(), "\" announces service \"", service_name, "\""); bool found = false; _child_services.for_each([&] (Routed_service &service) { diff --git a/repos/os/src/init/main.cc b/repos/os/src/init/main.cc index dbe7254003..0a068fc1a0 100644 --- a/repos/os/src/init/main.cc +++ b/repos/os/src/init/main.cc @@ -182,8 +182,8 @@ void Init::Main::_update_parent_services_from_config() service.abandon(); }); - if (_verbose->enabled()) - log("parent provides"); + /* used to prepend the list of new parent services with title */ + bool first_log = true; /* register new services */ node.for_each_sub_node("service", [&] (Xml_node service) { @@ -197,8 +197,12 @@ void Init::Main::_update_parent_services_from_config() if (!registered) { new (_heap) Init::Parent_service(_parent_services, _env, name); - if (_verbose->enabled()) + if (_verbose->enabled()) { + if (first_log) + log("parent provides"); log(" service \"", name, "\""); + first_log = false; + } } }); }