mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-28 09:38:53 +00:00
9a47f7bf71
The parent-provides model is destroyed if no <parent-provides> node is found in the configuration, which resulted in Warning: list model not empty at destruction time and leaking memory for the allocated nodes. The commit now explicitly empties the list model in the destructor of ~Parent_provides_model. Note, the case is implicitly tested in pkg/test-init by step "denial of forwarded session request" and <init_config version="empty">. Thanks to Peter for reporting this issue. Fixes #4547
75 lines
2.2 KiB
Plaintext
75 lines
2.2 KiB
Plaintext
<runtime ram="64M" caps="3000" binary="init">
|
|
|
|
<requires> <timer/> </requires>
|
|
|
|
<events>
|
|
<timeout meaning="failed" sec="330" />
|
|
<log meaning="succeeded">child "test-init" exited with exit value 0</log>
|
|
<log meaning="failed">list model not empty at destruction time</log>
|
|
</events>
|
|
|
|
<content>
|
|
<rom label="ld.lib.so"/>
|
|
<rom label="test-init"/>
|
|
<rom label="dummy"/>
|
|
<rom label="report_rom"/>
|
|
<rom label="test-init.config"/>
|
|
</content>
|
|
|
|
<config prio_levels="2">
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="CPU"/>
|
|
<service name="PD"/>
|
|
<service name="LOG"/>
|
|
<service name="IRQ"/>
|
|
<service name="IO_MEM"/>
|
|
<service name="IO_PORT"/>
|
|
<service name="Timer"/>
|
|
</parent-provides>
|
|
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>
|
|
|
|
<default caps="100"/>
|
|
|
|
<start name="report_rom" priority="-1">
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides> <service name="ROM"/> <service name="Report"/> </provides>
|
|
<config verbose="no">
|
|
<policy label="init -> config" report="test-init -> init.config"/>
|
|
<policy label="test-init -> state" report="init -> state"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="test-init" priority="-1">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides> <service name="LOG"/> </provides>
|
|
<route>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="state"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="config"> <parent label="test-init.config"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="init" caps="2000" priority="-1">
|
|
<binary name="init"/>
|
|
<resource name="RAM" quantum="16M"/>
|
|
<route>
|
|
<service name="ROM" label="config"> <child name="report_rom"/> </service>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<service name="LOG"> <child name="test-init"/> </service>
|
|
|
|
<!-- alias for the binary as requested by the binary-name update test -->
|
|
<service name="ROM" label="another_dummy">
|
|
<parent label="dummy"/> </service>
|
|
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
</config>
|
|
</runtime>
|