qfile-daemon-dvm: Move dispVM killing into cleanup function
This commit is contained in:
parent
9d781f77ce
commit
afb2a65744
@ -150,7 +150,7 @@ class QfileDaemonDvm:
|
||||
return self.do_get_dvm()
|
||||
|
||||
@staticmethod
|
||||
def remove_disposable_from_qdb(name):
|
||||
def finish_disposable(name):
|
||||
qvm_collection = QubesVmCollection()
|
||||
qvm_collection.lock_db_for_writing()
|
||||
qvm_collection.load()
|
||||
@ -158,6 +158,12 @@ class QfileDaemonDvm:
|
||||
if vm is None:
|
||||
qvm_collection.unlock_db()
|
||||
return False
|
||||
|
||||
try:
|
||||
vm.force_shutdown()
|
||||
except QubesException:
|
||||
# VM already destroyed
|
||||
pass
|
||||
qvm_collection.pop(vm.qid)
|
||||
qvm_collection.save()
|
||||
qvm_collection.unlock_db()
|
||||
@ -181,11 +187,6 @@ def main():
|
||||
subprocess.call(['/usr/lib/qubes/qrexec-client', '-d', dispvm.name,
|
||||
user+':exec /usr/lib/qubes/qubes-rpc-multiplexer ' +
|
||||
exec_index + " " + src_vmname])
|
||||
try:
|
||||
dispvm.force_shutdown()
|
||||
except QubesException:
|
||||
# VM already destroyed
|
||||
pass
|
||||
qfile.remove_disposable_from_qdb(dispvm.name)
|
||||
qfile.finish_disposable(dispvm.name)
|
||||
|
||||
main()
|
||||
|
Loading…
Reference in New Issue
Block a user