genode/repos/base/src/lib
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
..
base init: close all sessions of exited children 2018-02-09 13:31:27 +01:00
cxx Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
ldso Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
startup base: increase initial stack size on x86_64 2017-11-30 11:23:12 +01:00
target.mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00