| 
					
				 | 
			
			
				@@ -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 
			 |