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() |         return self.do_get_dvm() | ||||||
| 
 | 
 | ||||||
|     @staticmethod |     @staticmethod | ||||||
|     def remove_disposable_from_qdb(name): |     def finish_disposable(name): | ||||||
|         qvm_collection = QubesVmCollection() |         qvm_collection = QubesVmCollection() | ||||||
|         qvm_collection.lock_db_for_writing() |         qvm_collection.lock_db_for_writing() | ||||||
|         qvm_collection.load() |         qvm_collection.load() | ||||||
| @ -158,6 +158,12 @@ class QfileDaemonDvm: | |||||||
|         if vm is None: |         if vm is None: | ||||||
|             qvm_collection.unlock_db() |             qvm_collection.unlock_db() | ||||||
|             return False |             return False | ||||||
|  | 
 | ||||||
|  |         try: | ||||||
|  |             vm.force_shutdown() | ||||||
|  |         except QubesException: | ||||||
|  |             # VM already destroyed | ||||||
|  |             pass | ||||||
|         qvm_collection.pop(vm.qid) |         qvm_collection.pop(vm.qid) | ||||||
|         qvm_collection.save() |         qvm_collection.save() | ||||||
|         qvm_collection.unlock_db() |         qvm_collection.unlock_db() | ||||||
| @ -181,11 +187,6 @@ def main(): | |||||||
|         subprocess.call(['/usr/lib/qubes/qrexec-client', '-d', dispvm.name, |         subprocess.call(['/usr/lib/qubes/qrexec-client', '-d', dispvm.name, | ||||||
|                          user+':exec /usr/lib/qubes/qubes-rpc-multiplexer ' + |                          user+':exec /usr/lib/qubes/qubes-rpc-multiplexer ' + | ||||||
|                          exec_index + " " + src_vmname]) |                          exec_index + " " + src_vmname]) | ||||||
|         try: |         qfile.finish_disposable(dispvm.name) | ||||||
|             dispvm.force_shutdown() |  | ||||||
|         except QubesException: |  | ||||||
|             # VM already destroyed |  | ||||||
|             pass |  | ||||||
|         qfile.remove_disposable_from_qdb(dispvm.name) |  | ||||||
| 
 | 
 | ||||||
| main() | main() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Rusty Bird
						Rusty Bird