[source] sysupgrade: don't kill our own parent

LEDE Commits lede-commits at lists.infradead.org
Wed Nov 15 12:18:19 PST 2017


blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/2dca7177e75d2b910ace883e08cbadcaa050666f

commit 2dca7177e75d2b910ace883e08cbadcaa050666f
Author: Mat Trudel <mat at geeky.net>
AuthorDate: Tue Nov 7 20:55:54 2017 +0100

    sysupgrade: don't kill our own parent
    
    Add the parent of the sysupgrade script to the list of pids not getting
    killed
    
    Signed-off-by: Mat Trudel <mat at geeky.net>
    Signed-off-by: John Crispin <john at phrozen.org>
---
 package/base-files/files/lib/upgrade/stage2 | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2
index d7f92a4..3985d8f 100755
--- a/package/base-files/files/lib/upgrade/stage2
+++ b/package/base-files/files/lib/upgrade/stage2
@@ -84,6 +84,7 @@ kill_remaining() { # [ <signal> [ <loop> ] ]
 	local loop="${2:-0}"
 	local run=true
 	local stat
+	local proc_ppid=$(cut -d' ' -f4  /proc/$$/stat)
 
 	echo -n "Sending $sig to remaining processes ... "
 
@@ -96,8 +97,8 @@ kill_remaining() { # [ <signal> [ <loop> ] ]
 			read pid name state ppid rest < $stat
 			name="${name#(}"; name="${name%)}"
 
-			# Skip PID1, ourself and our children
-			[ $pid -ne 1 -a $pid -ne $$ -a $ppid -ne $$ ] || continue
+			# Skip PID1, our parent, ourself and our children
+			[ $pid -ne 1 -a $pid -ne $proc_ppid -a $pid -ne $$ -a $ppid -ne $$ ] || continue
 
 			local cmdline
 			read cmdline < /proc/$pid/cmdline



More information about the lede-commits mailing list