瀏覽代碼

Skip printing status if we CTRL-c out

No need to print status if the user interrupts the compile. Status is
always (all tasks done) since the remaining tasks will have been
canceled.

Change-Id: I3c4e5ff867cfd460aa357197f09276d128b00e01
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6207097
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Auto-Submit: Mohamed Heikal <mheikal@chromium.org>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Mohamed Heikal 6 月之前
父節點
當前提交
03aad37858
共有 1 個文件被更改,包括 7 次插入1 次删除
  1. 7 1
      android_build_server_helper.py

+ 7 - 1
android_build_server_helper.py

@@ -10,6 +10,8 @@ import subprocess
 
 
 import gclient_paths
 import gclient_paths
 
 
+# Keeps track of whether our SIGINT handler was called.
+_is_canceled = False
 
 
 def _register_build_id(local_dev_server_path, build_id):
 def _register_build_id(local_dev_server_path, build_id):
     subprocess.run([
     subprocess.run([
@@ -31,6 +33,8 @@ def _set_signal_handler(local_dev_server_path, build_id):
     original_sigint_handler = signal.getsignal(signal.SIGINT)
     original_sigint_handler = signal.getsignal(signal.SIGINT)
 
 
     def _kill_handler(signum, frame):
     def _kill_handler(signum, frame):
+        global _is_canceled
+        _is_canceled = True
         # Cancel the pending build tasks if user CTRL+c early.
         # Cancel the pending build tasks if user CTRL+c early.
         print('Canceling pending build_server tasks', file=sys.stderr)
         print('Canceling pending build_server tasks', file=sys.stderr)
         subprocess.run([local_dev_server_path, '--cancel-build', build_id])
         subprocess.run([local_dev_server_path, '--cancel-build', build_id])
@@ -61,4 +65,6 @@ def build_server_context(build_id, use_android_build_server=False):
     _register_build_id(server_path, build_id)
     _register_build_id(server_path, build_id)
     _set_signal_handler(server_path, build_id)
     _set_signal_handler(server_path, build_id)
     yield
     yield
-    _print_status(server_path, build_id)
+    # No need to print status if we CTRL+Ced out.
+    if (not _is_canceled):
+        _print_status(server_path, build_id)