Browse Source

shutdown/shutdown.sh: loop over shutdown hooks until all succeed

Up until now, _check_shutdown() returns true if at least one of
the shutdown hooks succeeded. Change this to only return true if
*all* succeeded. To prevent an infinite loop, introduce an upper
bound of 40 iterations.
master
Lukas Wunner 11 years ago
parent
commit
b09faad877
  1. 9
      modules.d/99shutdown/shutdown.sh

9
modules.d/99shutdown/shutdown.sh

@ -90,16 +90,19 @@ _check_shutdown() { @@ -90,16 +90,19 @@ _check_shutdown() {
( . "$__f" $1 )
if [ $? -eq 0 ]; then
rm -f -- $__f
else
__s=0
fi
done
return $__s
}

while _check_shutdown; do
:
_cnt=0
while [ $_cnt -le 40 ]; do
_check_shutdown || break
_cnt=$(($_cnt+1))
done
_check_shutdown final
[ $_cnt -ge 40 ] && _check_shutdown final

getarg 'rd.break=shutdown' && emergency_shell --shutdown shutdown "Break before shutdown"


Loading…
Cancel
Save