Unverified Commit 0e956807 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

fix: Kill QEMU after 5 seconds when it hangs (#1515)

parent 54767605
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ ready() {
finish() {

  local pid
  local cnt=0
  local reason=$1

  touch "$QEMU_END"
@@ -85,10 +86,20 @@ finish() {
    { kill -15 "$pid" || true; } 2>/dev/null

    while isAlive "$pid"; do

      sleep 1
      cnt=$((cnt+1))
  
      # Workaround for zombie pid
      [ ! -s "$QEMU_PID" ] && break
  
      if [ "$cnt" == "5" ]; then
        error "QEMU did not terminate itself, forcefully killing process..."
        { kill -9 "$pid" || true; } 2>/dev/null
      fi
  
    done

  fi

  if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then