mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
This patch enhances the 'Child' and 'Child_policy' with the ability to separate the different steps of bootstrapping children. If the 'Child_policy::initiate_env_sessions()' returns false, the child's environment sessions remain unrouted at construction time. This way, child objects for many children can be initialized to a state that allows the children to represent services for other children. Therefore, session routing can be applied before any child executes. At this stage, the environment RAM sessions of all children can be created. Note that this step still has the limitation that RAM sessions are generally expected to be provided by either the parent or a local service. Once all children are equipped with RAM, they can in principle receive session-quota donations. Hence, all other environment sessions can now be arbitrarily routed and initiated. Once the environment of a child is complete, the child's process and initial thread is created.
This directory contains include files of interfaces that are exported by components to be used by other components. Each subdirectory corresponds to the component exporting the interface.