mirror of
https://github.com/dockur/windows.git
synced 2025-10-26 19:05:49 +00:00
fix: Kill QEMU after 5 seconds when it hangs (#1515)
This commit is contained in:
parent
5476760551
commit
0e95680704
1 changed files with 11 additions and 0 deletions
11
src/power.sh
11
src/power.sh
|
|
@ -74,6 +74,7 @@ ready() {
|
||||||
finish() {
|
finish() {
|
||||||
|
|
||||||
local pid
|
local pid
|
||||||
|
local cnt=0
|
||||||
local reason=$1
|
local reason=$1
|
||||||
|
|
||||||
touch "$QEMU_END"
|
touch "$QEMU_END"
|
||||||
|
|
@ -85,10 +86,20 @@ finish() {
|
||||||
{ kill -15 "$pid" || true; } 2>/dev/null
|
{ kill -15 "$pid" || true; } 2>/dev/null
|
||||||
|
|
||||||
while isAlive "$pid"; do
|
while isAlive "$pid"; do
|
||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
cnt=$((cnt+1))
|
||||||
|
|
||||||
# Workaround for zombie pid
|
# Workaround for zombie pid
|
||||||
[ ! -s "$QEMU_PID" ] && break
|
[ ! -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
|
done
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then
|
if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$BOOT" ]; then
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue