• Jonas Termansen's avatar
    Fix pid 1 deadlocking when exiting with children. · 62bd9bf9
    Jonas Termansen authored
    The child processes of pid 1 were being reparented to pid 1, causing an
    infinite loop. This change fixes the problem by adding a hook that runs in
    the last thread about to exit in a process. When pid 1 exits, the hook will
    prevent more processes and threads from being created, and then broadcast
    kill all processes and threads. The hook is not run in LastPrayer(), as that
    function runs in a worker thread and it can't block waiting for another
    thread to run LastPrayer() in the same thread.
    62bd9bf9
Name
Last commit
Last update
bench Loading commit data...
build-aux Loading commit data...
carray Loading commit data...
disked Loading commit data...
dispd Loading commit data...
doc Loading commit data...
editor Loading commit data...
ext Loading commit data...
games Loading commit data...
hostname Loading commit data...
init Loading commit data...
kblayout Loading commit data...
kblayout-compiler Loading commit data...
kernel Loading commit data...
libc Loading commit data...
libm Loading commit data...
libmount Loading commit data...
login Loading commit data...
mkinitrd Loading commit data...
regress Loading commit data...
rw Loading commit data...
sf Loading commit data...
sh Loading commit data...
share/man Loading commit data...
sysinstall Loading commit data...
tix Loading commit data...
trianglix Loading commit data...
update-initrd Loading commit data...
utils Loading commit data...
.gitignore Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...