Prevent re-entry
This commit is contained in:
parent
2e6372bbd5
commit
83cea7b77f
1 changed files with 8 additions and 2 deletions
10
power.sh
10
power.sh
|
@ -5,9 +5,13 @@ set -eu
|
||||||
|
|
||||||
QEMU_MONPORT=7100
|
QEMU_MONPORT=7100
|
||||||
QEMU_POWERDOWN_TIMEOUT=8
|
QEMU_POWERDOWN_TIMEOUT=8
|
||||||
|
|
||||||
_QEMU_PID=/run/qemu.pid
|
_QEMU_PID=/run/qemu.pid
|
||||||
_QEMU_SHUTDOWN_COUNTER=/run/qemu.counter
|
_QEMU_SHUTDOWN_COUNTER=/run/qemu.counter
|
||||||
|
|
||||||
|
rm -f "${_QEMU_PID}"
|
||||||
|
rm -f "${_QEMU_SHUTDOWN_COUNTER}"
|
||||||
|
|
||||||
# Allows for troubleshooting signals sent to the process
|
# Allows for troubleshooting signals sent to the process
|
||||||
_trap(){
|
_trap(){
|
||||||
func="$1" ; shift
|
func="$1" ; shift
|
||||||
|
@ -19,7 +23,9 @@ _trap(){
|
||||||
_graceful_shutdown(){
|
_graceful_shutdown(){
|
||||||
|
|
||||||
local QEMU_MONPORT="${QEMU_MONPORT:-7100}"
|
local QEMU_MONPORT="${QEMU_MONPORT:-7100}"
|
||||||
local QEMU_POWERDOWN_TIMEOUT="${QEMU_POWERDOWN_TIMEOUT:-120}"
|
local QEMU_POWERDOWN_TIMEOUT="${QEMU_POWERDOWN_TIMEOUT:-8}"
|
||||||
|
|
||||||
|
[ -f "${_QEMU_SHUTDOWN_COUNTER}" ] && return
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
echo "Received $1 signal, shutting down..."
|
echo "Received $1 signal, shutting down..."
|
||||||
|
@ -43,7 +49,7 @@ _graceful_shutdown(){
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Quitting..."
|
echo "Quitting..."
|
||||||
echo 'quit' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}">/dev/null || true
|
echo 'quit' | nc -q 1 -w 1 localhost "${QEMU_MONPORT:-7100}">/dev/null || true
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue