aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java
index 0d113830b9..fc27127ec7 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java
@@ -233,6 +233,11 @@ class RemoteSpawnRunner implements SpawnRunner {
boolean uploadLocalResults,
IOException cause)
throws ExecException, InterruptedException, IOException {
+ // Regardless of cause, if we are interrupted, we should stop without displaying a user-visible
+ // failure/stack trace.
+ if (Thread.currentThread().isInterrupted()) {
+ throw new InterruptedException();
+ }
if (options.remoteLocalFallback && !(cause instanceof TimeoutException)) {
return execLocally(spawn, policy, inputMap, uploadLocalResults, remoteCache, actionKey);
}