aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java
diff options
context:
space:
mode:
authorGravatar philwo <philwo@google.com>2017-08-17 15:33:15 +0200
committerGravatar Irina Iancu <elenairina@google.com>2017-08-18 09:00:41 +0200
commit6b9d6827e72fad4058837528e726a41443f0da51 (patch)
treebd756b2ab23f2d49e536e5f311a3582c79cb8de1 /src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java
parent4c1fe6ccf4b9c6807ba136cc1390be63e63405a6 (diff)
Add the workspace name to the sandbox path for sandboxed workers.
PiperOrigin-RevId: 165571541
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java
index 1e0e611cab..6f75fcf29d 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerFactory.java
@@ -60,7 +60,7 @@ final class WorkerFactory extends BaseKeyedPooledObjectFactory<WorkerKey, Worker
Worker worker;
boolean sandboxed = workerOptions.workerSandboxing || key.mustBeSandboxed();
if (sandboxed) {
- Path workDir = workerBaseDir.getRelative("worker-" + workerId + "-" + key.getMnemonic());
+ Path workDir = getSandboxedWorkerPath(key, workerId);
worker = new SandboxedWorker(key, workerId, workDir, logFile);
} else {
worker = new Worker(key, workerId, key.getExecRoot(), logFile);
@@ -80,6 +80,13 @@ final class WorkerFactory extends BaseKeyedPooledObjectFactory<WorkerKey, Worker
return worker;
}
+ Path getSandboxedWorkerPath(WorkerKey key, int workerId) {
+ String workspaceName = key.getExecRoot().getBaseName();
+ return workerBaseDir
+ .getRelative("worker-" + workerId + "-" + key.getMnemonic())
+ .getRelative(workspaceName);
+ }
+
/**
* Use the DefaultPooledObject implementation.
*/