From 6868e20a70f0d67ef9306791e17106fb7a0b00f4 Mon Sep 17 00:00:00 2001 From: ziajka Date: Fri, 26 Jan 2018 12:53:48 +0100 Subject: [PATCH] Compute md5sum on thread and don't block main server, Ref. gui#2239 --- gns3server/compute/base_manager.py | 2 +- gns3server/compute/qemu/qemu_vm.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gns3server/compute/base_manager.py b/gns3server/compute/base_manager.py index 3e3398a2..b526751d 100644 --- a/gns3server/compute/base_manager.py +++ b/gns3server/compute/base_manager.py @@ -557,7 +557,7 @@ class BaseManager: f.write(packet) os.chmod(tmp_path, stat.S_IWRITE | stat.S_IREAD | stat.S_IEXEC) shutil.move(tmp_path, path) - md5sum(path) + yield from wait_run_in_executor(md5sum, path) except OSError as e: raise aiohttp.web.HTTPConflict(text="Could not write image: {} because {}".format(filename, e)) diff --git a/gns3server/compute/qemu/qemu_vm.py b/gns3server/compute/qemu/qemu_vm.py index 76067b5e..73f9d7c0 100644 --- a/gns3server/compute/qemu/qemu_vm.py +++ b/gns3server/compute/qemu/qemu_vm.py @@ -32,7 +32,7 @@ import gns3server import subprocess from gns3server.utils import parse_version -from gns3server.utils.asyncio import subprocess_check_output +from gns3server.utils.asyncio import subprocess_check_output, wait_run_in_executor from .qemu_error import QemuError from ..adapters.ethernet_adapter import EthernetAdapter from ..nios.nio_udp import NIOUDP