Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a3a4268 authored by Qiao Yang's avatar Qiao Yang
Browse files

stub_template_host redirect SIGINT and SIGTERM to subprocess

Test: manual
Change-Id: I561f581f7413dc18b2d449f4ef338db3b6b9ca47
parent e75fcf4d
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
import os
import tempfile
import shutil
import signal
import sys
import subprocess
import zipfile
@@ -43,7 +44,18 @@ def Main():
    sys.stdout.flush()
    # close_fds=False so that you can run binaries with files provided on the command line:
    # my_python_app --file <(echo foo)
    sys.exit(subprocess.call(args, close_fds=False))
    p = subprocess.Popen(args, close_fds=False)

    def handler(sig, frame):
      p.send_signal(sig)

    # Redirect SIGINT and SIGTERM to subprocess
    signal.signal(signal.SIGINT, handler)
    signal.signal(signal.SIGTERM, handler)

    p.wait()

    sys.exit(p.returncode)
  finally:
    shutil.rmtree(runfiles_path, ignore_errors=True)