Kurt J. Bosch, 2011-07-03 22:31:
This allows splash systems etc. to get a list of daemons to be stopped by simply overriding stop_daemon(). --- functions | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/functions b/functions index 7054f60..9cc9cc6 100644 --- a/functions +++ b/functions @@ -279,10 +279,10 @@ add_omit_pids() { omit_pids+=( $@ ) }
- -kill_everything() { - # $1 = where we are being called from. - # This is used to determine which hooks to run. +# Stop all daemons +# This function should *never* ever perform any other actions beside calling stop_daemon()! +# It might be used by a splash system etc. to count or get a list of daemons to be stopped. +stop_all_daemons() { # Find daemons NOT in the DAEMONS array. Shut these down first local daemon for daemon in /run/daemons/*; do @@ -297,6 +297,15 @@ kill_everything() { [[ ${DAEMONS[i]} = '!'* ]]&& continue ck_daemon ${DAEMONS[i]#@} || stop_daemon ${DAEMONS[i]#@} done +} + +kill_everything() { + # $1 = where we are being called from. + # This is used to determine which hooks to run. + + run_hook "$1_prestopdaemons" + + stop_all_daemons
run_hook "$1_prekillall"
Squashed this into [PATCH 06/13] rc.sysinit/functions: Refactor kill_everything/fsck_all/mount_all and dropped the new hook because shutdown_start should be enough for now. -- Kurt