X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=package%2Fbase-files%2Ffiles%2Flib%2Fupgrade%2Fstage2;h=d7f92a4f3506d0a26d7178320eaba5149d177617;hp=5a439f1201b1dc452493a7ce6129d41aa206b072;hb=1ab227d68852c1cb869926057774540bded24d41;hpb=ae30673b100757ee4367ec40e9902f7f3ddd8269 diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2 index 5a439f1201..d7f92a4f35 100755 --- 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() { # [ [ ] ] + local loop_limit=10 + local sig="${1:-TERM}" local loop="${2:-0}" local run=true @@ -108,8 +110,15 @@ kill_remaining() { # [ [ ] ] [ $loop -eq 1 ] && run=true done + + let loop_limit-- + [ $loop_limit -eq 0 ] && { + echo + echo "Failed to kill all processes." + exit 1 + } done - echo "" + echo }