Handle the case that init has no children

Fixes #183
This commit is contained in:
Martin Stein 2012-04-19 11:52:49 +02:00 committed by Norman Feske
parent cb9b2724de
commit afe996df74

View File

@ -157,15 +157,20 @@ int main(int, char **)
catch (...) { } catch (...) { }
/* create children */ /* create children */
Genode::Xml_node start_node = Genode::config()->xml_node().sub_node("start"); try {
for (;; start_node = start_node.next("start")) { Genode::Xml_node start_node = Genode::config()->xml_node().sub_node("start");
for (;; start_node = start_node.next("start")) {
children.insert(new (Genode::env()->heap()) children.insert(new (Genode::env()->heap())
Child(start_node, default_route_node, &children, Child(start_node, default_route_node, &children,
read_prio_levels_log2(), read_prio_levels_log2(),
&parent_services, &child_services, &cap)); &parent_services, &child_services, &cap));
if (start_node.is_last("start")) break; if (start_node.is_last("start")) break;
}
}
catch (Genode::Xml_node::Nonexistent_sub_node) {
PERR("No children to start");
} }
/* start children */ /* start children */