Преглед изворни кода

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 пре 7 година
родитељ
комит
bcab92ee64
1 измењених фајлова са 6 додато и 2 уклоњено
  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',