diff --git a/src/main/java/com/google/devtools/build/lib/worker/SingleplexWorker.java b/src/main/java/com/google/devtools/build/lib/worker/SingleplexWorker.java index a0b61a0db5f5af..094607722487d8 100644 --- a/src/main/java/com/google/devtools/build/lib/worker/SingleplexWorker.java +++ b/src/main/java/com/google/devtools/build/lib/worker/SingleplexWorker.java @@ -155,7 +155,11 @@ void destroy() { workerProtocol = null; } if (shutdownHook != null) { - Runtime.getRuntime().removeShutdownHook(shutdownHook); + try { + Runtime.getRuntime().removeShutdownHook(shutdownHook); + } catch (IllegalStateException e) { + // Can only happen if we're already in shutdown, in which case we don't care. + } } if (process != null) { wasDestroyed = true;