stub_template_host redirect SIGINT and SIGTERM to subprocess
Test: manual
Change-Id: I561f581f7413dc18b2d449f4ef338db3b6b9ca47
diff --git a/python/scripts/stub_template_host.txt b/python/scripts/stub_template_host.txt
index 5eedc18..2d1bd4a 100644
--- a/python/scripts/stub_template_host.txt
+++ b/python/scripts/stub_template_host.txt
@@ -3,6 +3,7 @@
import os
import tempfile
import shutil
+import signal
import sys
import subprocess
import zipfile
@@ -43,7 +44,18 @@
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)