genode/repos/os/src/init
Norman Feske e0e9b3b32e init: close all sessions of exited children
With this patch, init responds to the exit of a child by closing all
sessions of the child. E.g., if a child is a GUI application, its
nitpicker session is closed at the time of exit, not at the time when
the start node disappears from init's configuration.

Since this change requires a modification of the 'Genode::Child' class,
it takes the chance to make the child-destruction less brutal. The
new version ensures that all threads of the destructed subsystem are
destructed before other sessions, in particular PD sessions. This
eliminates spurious page-fault warnings during the child destruction.

On Fiasco.OC, closing the CPU session of a thread while being called by
the thread causes a deadlock. Hence, we skip the eager destruction of
CPU sessions on this kernel.

Related to issue #2659
2018-02-09 13:31:27 +01:00
..
alias.h init: refactoring into multiple files 2017-03-24 16:19:56 +01:00
buffered_xml.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
child_registry.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
child.cc Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
child.h init: close all sessions of exited children 2018-02-09 13:31:27 +01:00
config.explicit_routing Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
config.priority Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
config.wildcard Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
config.xsd run: target-specific config schemata 2017-12-21 15:01:36 +01:00
main.cc Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
name_registry.h init: refactoring into multiple files 2017-03-24 16:19:56 +01:00
report.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
server.cc Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
server.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
service.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
state_reporter.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
target.mk run: target-specific config schemata 2017-12-21 15:01:36 +01:00
types.h Capability quota accounting and trading 2017-05-31 13:16:06 +02:00
utils.h init: be aware of abandoned any-child routes 2017-08-28 16:49:35 +02:00
verbose.h init: refactoring into multiple files 2017-03-24 16:19:56 +01:00