6e51c1ae51
Every process now has an init process like it has a session, and each session belong to an init. Orphaned processes are reparented to its init process. All descendent processes are SIGKILL'd when an init process exits and creating additional processes/threads fails. Add setinit(2) for becoming the init process for your child processes and add getinit(2) for locating your init process. Add TIOCSCTTY force flag that releases a terminal from its current session and makes it the controlling terminal for the current session. This ioctl is essential to transferring the controlling terminal to a nested init, which has its own session. Add TIOCUCTTY that releases the terminal as the controlling terminal for its current session. Remove INIT_PID as it is replaced by getinit(2). |
||
---|---|---|
.. | ||
.gitignore | ||
autoconf.c | ||
autoconf.h | ||
conf.c | ||
conf.h | ||
devices.c | ||
devices.h | ||
execute.c | ||
execute.h | ||
fileops.c | ||
fileops.h | ||
grub | ||
hooks.c | ||
hooks.h | ||
interactive.c | ||
interactive.h | ||
Makefile | ||
manifest.c | ||
manifest.h | ||
prepare | ||
release.c | ||
release.h | ||
string_array.c | ||
string_array.h | ||
sysinstall.8 | ||
sysinstall.c | ||
sysmerge.8 | ||
sysmerge.c | ||
sysupgrade.8 | ||
sysupgrade.c |