Setting up Child Policy explicitly for a child PD which will announce a service.

Sid Agrawal siagraw at cs.ubc.ca
Thu Jun 29 20:31:31 CEST 2023


Thanks for the explanation and links!

I am going to try the way described in [1,3] first as a way to unblock me,
and then proceed to do it the Genode way described in the end.

Best,
Sid


On Wed, Jun 28, 2023 at 2:17 AM Norman Feske <norman.feske at genode-labs.com>
wrote:

> [CAUTION: Non-UBC Email]
>
> Hi Sid,
>
> On 2023-06-27 22:39, Sid Agrawal wrote:
> > I am trying to setup a scenario where the parent starts a child PD in
> > the C code, i.e., there is no <start> node for the child in the config
> > file. It is similar to the rm_nested test example [1].
> >
> > But in my scenario, I would like to start a server in the child and have
> > the parent make RPC calls to it, and I need some help setting that up. I
> > think the answer should be in some configuration of the ChildPolicy used
> > to start the child, but I am missing something.
>
> we explored this idea in the past [1] but ultimately disregarded it [2].
>
> [1]
>
> https://genode.org/documentation/release-notes/12.02#API_support_for_enslaving_services
> [2] https://github.com/genodelabs/genode/issues/3754
>
> You can still find a trace of it left as part of the qt_avplay component
> in the genode-world repository [3]. There you can find the slave.h
> header that implements the mechanism for hosting a service as a child.
>
> [3]
> https://github.com/genodelabs/genode-world/tree/master/src/app/qt_avplay
>
> For hosting and managing child components, I warmly recommend the use of
> the sandbox library [4], which is far more flexible while easier to use
> than the raw child.h interfaces. We plan to replace all manual uses of
> child.h by the use of the sandbox library eventually.
>
> [4]
>
> https://genode.org/documentation/release-notes/20.02#New_sandbox_library_based_on_the_init_component
>
> > Any help pointing me in the right direction would be very helpful.
> > Thanks as always!
>
> As a general advice, please try to avoid making a parent depend on a
> child. It is better to either use an session interface that can be
> provided by the parent and invoked by the child, or to use a second
> child to interact with a child service. The latter approach is
> extensively used by the depot_download_manager, which orchestrates the
> downloading, verification, extraction, and installation of software in
> Sculpt OS.
>
> Cheers
> Norman
>
> --
> Dr.-Ing. Norman Feske
> Genode Labs
>
> https://www.genode-labs.com · https://genode.org
>
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>
>
> _______________________________________________
> Genode users mailing list
> users at lists.genode.org
> https://lists.genode.org/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20230629/5353815b/attachment.htm>


More information about the users mailing list