From 159fce6839b62fb1d0360f2a24e16773df85e1af Mon Sep 17 00:00:00 2001 From: Kroese Date: Thu, 28 Dec 2023 05:04:40 +0100 Subject: [PATCH] fix: Detect device * fix: Detect device --- src/entry.sh | 19 ++++++++++++++++--- src/power.sh | 10 +++++++--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/entry.sh b/src/entry.sh index f3ce438..dc7ec16 100755 --- a/src/entry.sh +++ b/src/entry.sh @@ -24,10 +24,23 @@ if [[ "$CONSOLE" == [Yy]* ]]; then fi [[ "$DEBUG" == [Yy1]* ]] && info "$VERS" && set -x -qemu-system-x86_64 -daemonize -pidfile "$QEMU_PID" ${ARGS:+ $ARGS} - +dev=$(qemu-system-x86_64 -daemonize -pidfile "$QEMU_PID" ${ARGS:+ $ARGS}) { set +x; } 2>/dev/null -cat /dev/pts/1 2>/dev/null & wait $! || true + +if [[ "$dev" != "char"* || "$dev" != *"redirected to"* || "$dev" != *")" ]]; then + error "$dev" + finish 33 +fi + +dev="${dev#*/dev/}" +dev="/dev/${dev%% *}" + +if [ ! -c "$dev" ]; then + error "Device $dev not found!" + finish 34 +fi + +cat "$dev" 2>/dev/null & wait $! || true sleep 1 finish 0 diff --git a/src/power.sh b/src/power.sh index 54965db..a36ac78 100644 --- a/src/power.sh +++ b/src/power.sh @@ -61,10 +61,14 @@ _graceful_shutdown() { local code=$? local pid cnt response - [ -f "$QEMU_COUNT" ] && return - echo 0 > "$QEMU_COUNT" - set +e + + if [ -f "$QEMU_COUNT" ]; then + echo && info "Ignored $1 signal, already shutting down..." + return + fi + + echo 0 > "$QEMU_COUNT" echo && info "Received $1 signal, sending shutdown command..." if [ ! -f "$QEMU_PID" ]; then