From 92b2eaadf89f522d529d18bb158a517d86b0b5b4 Mon Sep 17 00:00:00 2001 From: Alex Zolotko Date: Fri, 21 Feb 2020 10:33:44 +0100 Subject: [PATCH] Prevent RejectedExecutionException during BackgroundRunnable.cleanup --- .../scala/sbt/internal/DefaultBackgroundJobService.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala b/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala index 3c8a23ded..92cfd75f9 100644 --- a/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala +++ b/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala @@ -100,9 +100,12 @@ private[sbt] abstract class AbstractBackgroundJobService extends BackgroundJobSe val workingDirectory: File, val job: BackgroundJob ) extends AbstractJobHandle { - implicit val executionContext: ExecutionContext = StandardMain.executionContext - def humanReadableName: String = job.humanReadableName // EC for onStop handler below + implicit val executionContext: ExecutionContext = + ExecutionContext.fromExecutor(pool.executor) + + def humanReadableName: String = job.humanReadableName + job.onStop { () => // TODO: Fix this // logger.close() @@ -305,7 +308,7 @@ private[sbt] class BackgroundThreadPool extends java.io.Closeable { } } - private val executor = new java.util.concurrent.ThreadPoolExecutor( + private[internal] val executor = new java.util.concurrent.ThreadPoolExecutor( 0, /* corePoolSize */ 32, /* maxPoolSize, max # of bg tasks */ 2,