problem with routing of reports/ROMs inside runtime

Pirmin Duss pirmin.duss at gapfruit.com
Wed Jun 27 15:01:57 CEST 2018


Hello list

While testing the configuration update for the floating_window_layouter I encountered a problem.

Inside the signal handler for the config update the configuration is always "<empty/>".

In the log I see that layout_controller writes the report "layout_controller -> layouter_config" and that the layouter
receives a signal.
But after a config.update() the content of config.xml() is always empty.


<config>
...
  <default-route>
    <any-service> <parent/> <any-child/> </any-service>
  </default-route>
...
  <start name="report_rom">
    <resource name="RAM" quantum="4M"/>
    <provides> <service name="Report"/> <service name="ROM"/> </provides>
    <config verbose="yes">
      <policy label="layouter -> window_list"   report="wm -> window_list"/>
      <policy label="layouter -> focus_request" report="wm -> focus_request"/>
      ...
      <policy label="layouter -> config" report="layout_controller -> layouter_config"/>
    </config>
  </start>
...
  <start name="layout_controller">
    <resource name="RAM" quantum="4M"/>
    <route>
      <service name="Report" label="layouter_config"> <child name="report_rom"/> </service>
      <any-service> <parent/> <any-child/> </any-service>
    </route>
  </start>
...
  <start name="layouter">
    <binary name="floating_window_layouter"/>
    <resource name="RAM" quantum="4M"/>
    <route>
      <service name="ROM" label="config">            <child name="report_rom"/> </service>
      <service name="ROM" label="decorator_margins"> <child name="report_rom"/> </service>
      <service name="ROM" label="focus_request">     <child name="report_rom"/> </service>
      <service name="ROM" label="hover">             <child name="report_rom"/> </service>
      <service name="ROM" label="window_list">       <child name="report_rom"/> </service>
      <service name="Report">                        <child name="report_rom"/> </service>
      <any-service> <child name="wm"/> <parent/> <any-child/> </any-service>
    </route>
  </start>
...
</config>

I also have tried to change the route and the policy as follows:

      <service name="ROM" label="config"> <child name="report_rom" label="layouter_config"/> </service>
      <policy label="layouter -> layouter_config" report="layout_controller -> layouter_config"/>

But this also didn't help.

LOG:

[runtime -> wm -> layouter] config at startup: <empty/>
[runtime -> wm -> report_rom] report 'layout_controller -> layouter_config'
[runtime -> wm -> report_rom]   <config>
[runtime -> wm -> report_rom]    ...
[runtime -> wm -> report_rom]   </config>
[runtime -> wm -> layouter] config update signal
[runtime -> wm -> layouter] new config: <empty/>

Does anybody see the error, that my colleague an I weren't able to find?

Best regards
Pirmin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.genode.org/pipermail/users/attachments/20180627/7cd979df/attachment.sig>


More information about the users mailing list