Explorar el Código

qubes/vm: make sure to close qmemman socket after failed startup

If qmemman socket isn't closed, it will block other VM startups.
Marek Marczykowski-Górecki hace 7 años
padre
commit
bcab92ee64
Se han modificado 1 ficheros con 6 adiciones y 2 borrados
  1. 6 2
      qubes/vm/qubesvm.py

+ 6 - 2
qubes/vm/qubesvm.py

@@ -821,8 +821,12 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
         self._update_libvirt_domain()
 
         qmemman_client = self.request_memory(mem_required)
-
-        self.libvirt_domain.createWithFlags(libvirt.VIR_DOMAIN_START_PAUSED)
+        try:
+            self.libvirt_domain.createWithFlags(libvirt.VIR_DOMAIN_START_PAUSED)
+        except:
+            if qmemman_client:
+                qmemman_client.close()
+            raise
 
         try:
             self.fire_event('domain-spawn',