mirror of
https://github.com/genodelabs/genode.git
synced 2025-05-22 02:07:47 +00:00
When enabling the 'keep_going' config attribute, the component will carry on in case a child exited with an error. In addition, if the 'restart' attribute is set it will start executing the children from the beginning.
This directory contains a simple utility to serialize the execution of multiple components. It is configured with '<start>' XML nodes much like _init_. However, this component relies on its parent to manage all routing and resources, with the exception of a 'config' ROM. No services are propagated from children to the parent. A sample configuration to start a consumer after a producer has exited: ! <start name="sequence" caps="100"> ! <resource name="RAM" quantum="128M"/> ! <route> ! <any-service> <parent/> <any-child/> </any-service> ! </route> ! <config> ! <start name="producer"> ! <config> ! ... ! </config> ! </start> ! <start name="consumer"> ! <config> ! ... ! </config> ! </start> ! </config> ! </start> There are a few optional '<config>' attributes that control the way the component operates: * 'repeat' will instruct the component to repeat the sequence again starting from the first '<start>' node when it has reached the end. The default is 'false'. * 'keep_going' will instruct the component to start the next child in case the previous one exited with an error. The default is 'false'. * 'restart' instructs the component to start from the top of the sequence. It is only evaluted when 'keep_going' is enabled. The default is 'false'.