(me) Update the offsets so can be merged now without any issues and respect
 the indentation.

Implements FS#10536 - [initscripts] internal: save a pid from killall5

All credits to: Kurt J. Bosch

Signed-off-by: Gerardo Exequiel Pozzi <[email protected]>
---
 functions |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/functions b/functions
index fd0928e..6d279cc 100644
--- a/functions
+++ b/functions
@@ -222,6 +222,14 @@ ck_status() {
        fi
 }
 
+# PIDs to be omitted by killall5
+declare -a omit_pids
+
+add_omit_pids() {
+       omit_pids+=( $@ )
+}
+
+
 kill_everything() {
        # $1 = where we are being called from.
        # This is used to determine which hooks to run.
@@ -241,12 +249,16 @@ kill_everything() {
        # Terminate all processes
        stat_busy "Sending SIGTERM To Processes"
        run_hook "$1_prekillall"
-       /sbin/killall5 -15 &> /dev/null
+       local pid k5args=""
+       for pid in ${omit_pids[@]}; do
+               k5args+=" -o $pid"
+       done
+       /sbin/killall5 -15 $k5args &> /dev/null
        /bin/sleep 5
        stat_done
 
        stat_busy "Sending SIGKILL To Processes"
-       /sbin/killall5 -9 &> /dev/null
+       /sbin/killall5 -9 $k5args &> /dev/null
        /bin/sleep 1
        stat_done
 
-- 
1.7.5.1

Reply via email to