Skip to content
Snippets Groups Projects
Select Git revision
  • a8f5051104af801ff3fcbb9e6e1d1eca4f046712
  • v2018.2.x default
  • experimental
  • master
  • v2021.1.2-ffs
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • v2020.2.3-ffs
  • nrbffs/fastd-remove-delay
  • v2020.2.2-ffs
  • v2020.2.1-ffs
  • v2020.2-ffs
  • v2020.2.x
  • v2020.1.3-ffs
  • v2020.1.1-ffs
  • v2020.1-ffs
  • v2019.1.2-ffs
  • v2019.1.1-ffs
  • nrb/test-radv-filter
  • v2019.1-ffs
  • nrbffs/netgear-ex6120
  • v2021.1.2-ffs0.2
  • v2021.1.2-ffs0.1
  • v2021.1.1-ffs0.4
  • v2021.1.1-ffs0.3
  • v2021.1.1-ffs0.2
  • v2021.1.1-ffs0.1
  • v2021.1-ffs0.1
  • v2020.2.3-ffs0.3
  • v2020.2.3-ffs0.2
  • v2020.2.3-ffs0.1
  • v2020.2.2-ffs0.1
  • v2020.2.1-ffs0.1
  • v2020.2-ffs0.1
  • v2020.2
  • v2020.2.x-ffs0.1
  • v2020.1.3-ffs0.1
  • v2020.1.1-ffs0.1
  • v2020.1-ffs0.1
  • v2019.1.2-ffs0.1
  • v2019.1.1-ffs0.1
42 results

0034-base-files-upgrade-don-t-loop-forever-trying-to-kill-processes.patch

Blame
  • Forked from firmware / FFS Gluon
    Source project has a limited visibility.
    0034-base-files-upgrade-don-t-loop-forever-trying-to-kill-processes.patch 1.21 KiB
    From: Matthias Schiffer <mschiffer@universe-factory.net>
    Date: Thu, 13 Jul 2017 00:19:32 +0200
    Subject: base-files: upgrade: don't loop forever trying to kill processes
    
    When processes don't die on SIGKILL (usually because of kernel bugs), it's
    better to give up instead of looping forever.
    
    upgraded will trigger a reboot in this case (and if this fails, a hardware
    watchdog will eventually time out and reset the system, if present).
    
    Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
    
    diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2
    index bdbb8926643287f48a4ae62c5d1d4b4a29130859..097ad63adfecdd70019acaa5b652d2056e774c3f 100755
    --- a/package/base-files/files/lib/upgrade/stage2
    +++ b/package/base-files/files/lib/upgrade/stage2
    @@ -87,6 +87,8 @@ switch_to_ramfs() {
     }
     
     kill_remaining() { # [ <signal> [ <loop> ] ]
    +	local loop_limit=10
    +
     	local sig="${1:-TERM}"
     	local loop="${2:-0}"
     	local run=true
    @@ -117,8 +119,15 @@ kill_remaining() { # [ <signal> [ <loop> ] ]
     
     			[ $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
     }