Age | Commit message (Collapse) | Author |
|
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
It basically needs to wait for ALL children (even those created by
child processes) to terminate before terminating itself.
This commit replaces the waitpid loop with a regular wait that and
adds another wait loop at the end of run_sequentially to wait for
any transitive children. The sigchld handling is removed from the
signal handler and the handler is only installed for SIGINT,
SIGTERM and SIGHUP. The other signals that initd hooks are set to
default.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
If runsvc is installed as sub reaper, it must handle SIGCHLD or
the system will accumulate zombie processes. Also, forward all
other signal to the currently supervised child process and hope
that if it is SIGTERM, the child itself knows how to shut down
any other processes it created.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
For particularly hostile daemons.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
Targetting anything else than Linux isn't really relevant. All
other systems ($BSD and other Unices) are a closed ecosystem
where kernel & userspace are developed together. They don't need
something like a third party init system, so compatibillity can
be largely ignored.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
|
|
We no longer need to keep entire scripts in init program (i.e. saving space)
and reduce the code and complexity of the init program.
The runsvc tool can later be extended to do more complex child setup, such
as configuring namespaces or seccomp without adding complexity or memory
footprint to init.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
|