aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Philipp Wollermann <philwo@google.com>2016-06-14 12:26:25 +0000
committerGravatar Yue Gan <yueg@google.com>2016-06-15 08:29:32 +0000
commit8d4d4937ed1dc1abec3f82100aba78df2e39a918 (patch)
tree1ea705b3cf5f637febb9e9103a3b33da50a5ce75 /src
parent014388cec904f391ce8e54d323c9e9ce527ca0eb (diff)
sandbox: Get StandaloneSpawnStrategy from executor instead of instantiating a private copy.
-- MOS_MIGRATED_REVID=124827797
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
index 5c025102c2..989190554c 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
@@ -76,7 +76,6 @@ public class LinuxSandboxedStrategy implements SpawnActionContext {
private final boolean verboseFailures;
private final boolean sandboxDebug;
private final boolean unblockNetwork;
- private final StandaloneSpawnStrategy standaloneStrategy;
private final List<String> sandboxAddPath;
private final UUID uuid = UUID.randomUUID();
private final AtomicInteger execCounter = new AtomicInteger();
@@ -99,8 +98,6 @@ public class LinuxSandboxedStrategy implements SpawnActionContext {
this.sandboxDebug = sandboxDebug;
this.sandboxAddPath = sandboxAddPath;
this.unblockNetwork = unblockNetwork;
- this.standaloneStrategy = new StandaloneSpawnStrategy(
- blazeDirs.getExecRoot(), verboseFailures, productName);
this.productName = productName;
}
@@ -110,14 +107,16 @@ public class LinuxSandboxedStrategy implements SpawnActionContext {
@Override
public void exec(Spawn spawn, ActionExecutionContext actionExecutionContext)
throws ExecException {
+ Executor executor = actionExecutionContext.getExecutor();
+
// Certain actions can't run remotely or in a sandbox - pass them on to the standalone strategy.
if (!spawn.isRemotable()) {
+ StandaloneSpawnStrategy standaloneStrategy =
+ Preconditions.checkNotNull(executor.getContext(StandaloneSpawnStrategy.class));
standaloneStrategy.exec(spawn, actionExecutionContext);
return;
}
- Executor executor = actionExecutionContext.getExecutor();
-
if (executor.reportsSubcommands()) {
executor.reportSubcommand(
Label.print(spawn.getOwner().getLabel()) + " [" + spawn.getResourceOwner().prettyPrint()