genode/repos/os/src/app
Norman Feske 3bbeacad20 init: preserve final state of exited children
This is a follow-up patch of "init: avoid too eager child restart". On
each config update of init, init re-applies child-specific configuration
changes. In the case of an already exited child, this re-evaluation
wrongly marked such a child as abandoned because the child's environment
sessions do no longer exist. Abandoning the child, in turn, triggers the
destruction and subseqent restart (because the <start> node of the
configuration still exists). The latter is bad for two reasons.

First, the exit state of the original instance becomes lost. Second, the
restart may have unexpected side effects due to sessions created by the
new instance. I.e., when resizing a partition in sculpt, init would
wrongly restart the gpt-write tool after the tool successfully exited.
This collides with a newly started instance of part_blk/resize2fs, which
now competes with the second gpt-write instance for the exclusive access
of the targeted block device.

The patch prevents init from re-applying configurations to exited
children. The accompanied test case covers the corner case.
2018-07-03 09:39:30 +02:00
..
block_tester os: add Block session tester component 2018-04-10 13:56:04 +02:00
cli_monitor VFS: construct file-systems using Vfs::Env object 2018-04-19 12:38:27 +02:00
cpu_burner Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
dummy init: preserve final state of exited children 2018-07-03 09:39:30 +02:00
global_keys_handler os: new Input::Event representation 2018-05-03 15:31:25 +02:00
log_core os: reduce log noise by trace-info apps 2018-02-09 13:34:16 +01:00
nit_focus nit_focus component that implements click-to-focus 2017-11-30 11:23:15 +01:00
ping config.xsd: adapt Boolean type to ascii_to(bool) 2018-05-30 13:36:35 +02:00
pointer pointer: show default pointer on empty shape report 2018-05-30 13:36:15 +02:00
rom_logger Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
rom_reporter os: component to reflect ROMs as reports 2018-01-17 12:14:37 +01:00
rom_to_file Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
sequence Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
status_bar os: reworked nitpicker_gfx/text_painter.h 2018-04-10 11:09:18 +02:00
top os: reduce log noise by trace-info apps 2018-02-09 13:34:16 +01:00
trace_logger config.xsd: adapt Boolean type to ascii_to(bool) 2018-05-30 13:36:35 +02:00
trace_subject_reporter trace_subject_reporter: fix missing include 2018-02-09 13:34:23 +01:00
usb_report_filter Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00