Bug 1453426 - Kill invoked process on keyboard interrupt in mach build.
MozReview-Commit-ID: IdnVrK6Gqtk
--- a/python/mach/mach/mixin/process.py
+++ b/python/mach/mach/mixin/process.py
@@ -131,17 +131,22 @@ class ProcessExecutionMixin(LoggingMixin
pass
else:
p = ProcessHandlerMixin(args, cwd=cwd, env=use_env,
processOutputLine=[handleLine],
universal_newlines=True,
ignore_children=ignore_children)
p.run()
p.processOutput()
- status = p.wait()
+ status = None
+ while status is None:
+ try:
+ status = p.wait()
+ except KeyboardInterrupt:
+ status = p.kill()
if ensure_exit_code is False:
return status
if ensure_exit_code is True:
ensure_exit_code = 0
if status != ensure_exit_code: