From 024ac6a81066078d46e31a85633297dd6a02661c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Thu, 18 May 2017 09:50:50 +0200 Subject: [PATCH] tools/qvm-run: fix waiting for session Register SIGCHLD signal handler later - do not stop data processing when qubes.WaitForSession service exits. --- qubesadmin/tools/qvm_run.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qubesadmin/tools/qvm_run.py b/qubesadmin/tools/qvm_run.py index 8913fba..4e3c6eb 100644 --- a/qubesadmin/tools/qvm_run.py +++ b/qubesadmin/tools/qvm_run.py @@ -159,13 +159,13 @@ def main(args=None, app=None): else: print('Running \'{}\' on {}'.format(args.cmd, vm.name), file=sys.stderr) - if args.passio and not args.localcmd: - loop = asyncio.new_event_loop() - loop.add_signal_handler(signal.SIGCHLD, loop.stop) if args.gui: wait_session = vm.run_service('qubes.WaitForSession', stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) wait_session.communicate(vm.default_user.encode()) + if args.passio and not args.localcmd: + loop = asyncio.new_event_loop() + loop.add_signal_handler(signal.SIGCHLD, loop.stop) proc = vm.run_service('qubes.VMShell', user=args.user, localcmd=args.localcmd,