genode/repos/os/run
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
..
ahci_bench.run Remove ATAPI from ahci_drv config in test 2018-03-29 14:59:05 +02:00
ahci_blk.run Remove ATAPI from ahci_drv config in test 2018-03-29 14:59:05 +02:00
audio_out_click.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
blk_cache.run sel4: add x86_64 support 2017-08-17 11:04:20 +02:00
blk.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
block_tester.run os: add Block session tester component 2018-04-10 13:56:04 +02:00
bomb.run bomb.run: define resource preservation for init 2017-06-29 11:59:53 +02:00
clipboard.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
cpu_quota.run cpu_quota.run: be more tolerant on QEMU in general 2017-11-30 11:23:18 +01:00
cpufreq.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
demo.run os: reworked nitpicker_gfx/text_painter.h 2018-04-10 11:09:18 +02:00
dynamic_config_loader.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
dynamic_config_slave.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
dynamic_config.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
fault_detection.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
fb_bench.run sel4: adapt timeouts of run scripts 2017-08-18 10:24:47 +02:00
framebuffer.run uefi: adjust framebuffer.run to use fb_boot_drv 2017-08-28 16:49:47 +02:00
fs_log.run Convert static VFS library to dynamic library 2018-05-30 12:26:19 +02:00
fs_report.run Fs_rom: send signals on file removal 2018-05-31 12:28:12 +02:00
fs_rom_update_fs.run Convert static VFS library to dynamic library 2018-05-30 12:26:19 +02:00
fs_rom_update_ram.run Convert static VFS library to dynamic library 2018-05-30 12:26:19 +02:00
fs_rom_update.run New watch handle mechanism for File_system session 2018-02-14 20:41:09 +01:00
gpio_drv.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
gpio_led.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
gpio_signal.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
init_loop.run os: add init_loop test 2018-06-12 12:11:46 +02:00
init_smp.run init_smp.run: limit spawned init's for x86_32 2017-11-06 13:57:19 +01:00
init.run init: preserve final state of exited children 2018-07-03 09:39:30 +02:00
input_filter.run os: new Input::Event representation 2018-05-03 15:31:25 +02:00
input.run ps2_drv: drive mode indicator LEDs 2017-11-06 13:57:20 +01:00
kdb_uart_drv.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
loader.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
log_core.run nova: export kernel messages via memory 2018-06-12 12:11:37 +02:00
lx_block.run lx_block: add file based Block driver for Linux 2017-11-30 11:23:04 +01:00
mixer.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
nic_loopback.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
nic_router_flood.run nic_router_flood.run: be more flexible 2018-06-29 10:44:59 +02:00
nvme.run nvme_drv: add driver for NVMe storage devices 2018-04-19 12:38:22 +02:00
panda_uart4_echo.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
part_blk_gpt.run Test for part_blk with GPT 2017-05-31 13:16:11 +02:00
part_blk.inc Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
part_blk.run Test for part_blk with GPT 2017-05-31 13:16:11 +02:00
pci.run platform_drv.inc: support acpi_drv and acpica 2018-05-30 13:36:31 +02:00
ping_nic_router.run nic_router: multiple uplinks 2018-06-29 10:44:53 +02:00
ping.run ping.run: mark as "not supported" on Linux & FOC 2018-06-12 12:11:44 +02:00
pointer.run pointer: show default pointer on empty shape report 2018-05-30 13:36:15 +02:00
ram_fs_chunk.run sel4: adapt timeouts of run scripts 2017-08-18 10:24:47 +02:00
report_rom.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
resource_request.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
resource_yield.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
rom_blk.run sel4: adapt timeouts of run scripts 2017-08-18 10:24:47 +02:00
rom_filter.run rom_filter: add attribute matching for input nodes 2018-05-03 15:31:18 +02:00
rom_to_file.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
rtc.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
sd_card_bench.run sel4: enable wandboard sd card bench test 2018-04-10 11:09:16 +02:00
sd_card.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
signal.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
tar_rom.run sel4: adapt timeouts of run scripts 2017-08-18 10:24:47 +02:00
terminal_crosslink.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
thread_join.run sel4: adapt timeouts of run scripts 2017-08-18 10:24:47 +02:00
timed_semaphore.run sel4: adapt timeouts of run scripts 2017-08-18 10:24:47 +02:00
timeout.run timeout x86_64 sel4: do not expect a precise time 2017-11-30 11:23:20 +01:00
timer_accuracy.run nic_router & timer* tests: prioritize timer driver 2017-09-07 11:47:15 +02:00
timer.run timer.run: end test on uncaught exceptions 2017-11-06 13:57:18 +01:00
trace_logger.run test/trace_logger: fully automate test 2018-05-03 15:31:55 +02:00
trace.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
tz_vmm.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
uart.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
usb_block.run usb: avoid pagefault during session destruction 2017-11-09 12:18:05 +01:00
utf8.run utf8.run: increase timeout, needed for sel4 2018-06-13 13:52:11 +02:00
vfs_stress_fs.run Convert static VFS library to dynamic library 2018-05-30 12:26:19 +02:00
vfs_stress_ram.run Convert static VFS library to dynamic library 2018-05-30 12:26:19 +02:00
vmm.run Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
weak_ptr.run os: add tests to autopilot 2018-04-19 12:38:53 +02:00
xml_generator.run base: reset unfinished xml nodes in xml_generator 2018-06-13 13:50:35 +02:00
xml_node.run test/xml_node: test Xml_node::decoded_content 2018-02-09 13:26:01 +01:00