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
1 changed files with 12 additions and 7 deletions

View File

@ -157,15 +157,20 @@ int main(int, char **)
catch (...) { }
/* create children */
Genode::Xml_node start_node = Genode::config()->xml_node().sub_node("start");
for (;; start_node = start_node.next("start")) {
try {
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())
Child(start_node, default_route_node, &children,
read_prio_levels_log2(),
&parent_services, &child_services, &cap));
children.insert(new (Genode::env()->heap())
Child(start_node, default_route_node, &children,
read_prio_levels_log2(),
&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 */