From 6e345816293d26b702cc431dfdf3d5522484af02 Mon Sep 17 00:00:00 2001 From: carmi Date: Mon, 19 Mar 2018 13:43:01 -0700 Subject: Make "legacy globber" threads daemon. This allows an executable that uses PackageFactory (e.g., through PackageLoader) to exit immediately once it's done without waiting for these threads to finish. RELNOTES: None PiperOrigin-RevId: 189634305 --- .../google/devtools/build/lib/packages/PackageFactory.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java index 370df06e5a..3a8a0d085c 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java @@ -397,9 +397,14 @@ public final class PackageFactory { this.ruleFactory = new RuleFactory(ruleClassProvider, attributeContainerFactory); this.ruleFunctions = buildRuleFunctions(ruleFactory); this.ruleClassProvider = ruleClassProvider; - threadPool = new ThreadPoolExecutor(100, Integer.MAX_VALUE, 15L, TimeUnit.SECONDS, - new LinkedBlockingQueue(), - new ThreadFactoryBuilder().setNameFormat("Legacy globber %d").build()); + threadPool = + new ThreadPoolExecutor( + 100, + Integer.MAX_VALUE, + 15L, + TimeUnit.SECONDS, + new LinkedBlockingQueue(), + new ThreadFactoryBuilder().setNameFormat("Legacy globber %d").setDaemon(true).build()); // Do not consume threads when not in use. threadPool.allowCoreThreadTimeOut(true); this.environmentExtensions = ImmutableList.copyOf(environmentExtensions); -- cgit v1.2.3