projects
/
openwrt
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
base-files: upgrade: don't loop forever trying to kill processes
[openwrt/openwrt.git]
/
package
/
base-files
/
files
/
lib
/
upgrade
/
stage2
diff --git
a/package/base-files/files/lib/upgrade/stage2
b/package/base-files/files/lib/upgrade/stage2
index 5a439f1201b1dc452493a7ce6129d41aa206b072..d7f92a4f3506d0a26d7178320eaba5149d177617 100755
(executable)
--- a/
package/base-files/files/lib/upgrade/stage2
+++ b/
package/base-files/files/lib/upgrade/stage2
@@
-78,6
+78,8
@@
switch_to_ramfs() {
}
kill_remaining() { # [ <signal> [ <loop> ] ]
}
kill_remaining() { # [ <signal> [ <loop> ] ]
+ local loop_limit=10
+
local sig="${1:-TERM}"
local loop="${2:-0}"
local run=true
local sig="${1:-TERM}"
local loop="${2:-0}"
local run=true
@@
-108,8
+110,15
@@
kill_remaining() { # [ <signal> [ <loop> ] ]
[ $loop -eq 1 ] && run=true
done
[ $loop -eq 1 ] && run=true
done
+
+ let loop_limit--
+ [ $loop_limit -eq 0 ] && {
+ echo
+ echo "Failed to kill all processes."
+ exit 1
+ }
done
done
- echo
""
+ echo
}
}