genode/repos/base-foc/src
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
..
core Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
include init: close all sessions of exited children 2018-02-09 13:31:27 +01:00
kernel/foc
lib Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
test/cap_integrity