diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java
index e79ef12..a08ef53 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java
@@ -357,7 +357,18 @@
           key.getMnemonic(), key.hashCode());
     }
 
-    private void close() {}
+    // Destroys all workers created in this pool.
+    private synchronized void close() {
+      for (Worker worker : idleQueue) {
+        factory.destroyWorker(worker.getWorkerKey(), worker);
+      }
+      for (Worker worker : activeSet) {
+        logger.atInfo().log(
+            "Interrupting and shutting down active worker %s (id %d) due to pool shutdown",
+            key.getMnemonic(), worker.getWorkerId());
+        factory.destroyWorker(worker.getWorkerKey(), worker);
+      }
+    }
   }
 
   /**
diff --git a/src/test/java/com/google/devtools/build/lib/worker/WorkerPoolTest.java b/src/test/java/com/google/devtools/build/lib/worker/WorkerPoolTest.java
index 73940af..3ac4e63 100644
--- a/src/test/java/com/google/devtools/build/lib/worker/WorkerPoolTest.java
+++ b/src/test/java/com/google/devtools/build/lib/worker/WorkerPoolTest.java
@@ -401,4 +401,16 @@
     workerPool.reset();
     assertThat(workerPool.getMaxTotalPerKey(workerKey)).isEqualTo(2);
   }
+
+  @Test
+  public void testClose_destroysWorkers() throws Exception {
+    WorkerKey workerKey = createWorkerKey(fileSystem, "mnem", false);
+    Worker worker1 = workerPool.borrowObject(workerKey);
+    Worker worker2 = workerPool.borrowObject(workerKey);
+    workerPool.returnObject(workerKey, worker1);
+    workerPool.returnObject(workerKey, worker2);
+    workerPool.close();
+    verify(factoryMock).destroyWorker(workerKey, worker1);
+    verify(factoryMock).destroyWorker(workerKey, worker2);
+  }
 }
