From e465aee36abc3f6c52964e8a4fdb0232dd25e996 Mon Sep 17 00:00:00 2001 From: veera venky Date: Wed, 13 Jun 2018 03:06:30 +0530 Subject: [PATCH] Fix for #4191 (active.json should be removed on JVM shutdown) Added a shutdown hook to clean up active.json file --- main/src/main/scala/sbt/Main.scala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/main/src/main/scala/sbt/Main.scala b/main/src/main/scala/sbt/Main.scala index 65b436be0..67bc59857 100644 --- a/main/src/main/scala/sbt/Main.scala +++ b/main/src/main/scala/sbt/Main.scala @@ -105,11 +105,18 @@ object StandardMain { import scalacache.caffeine._ private[sbt] lazy val cache: Cache[Any] = CaffeineCache[Any] + private[sbt] val shutdownHook = new Thread(new Runnable { + def run(): Unit = { + exchange.shutdown + } + }) + def runManaged(s: State): xsbti.MainResult = { val previous = TrapExit.installManager() try { try { try { + Runtime.getRuntime.addShutdownHook(shutdownHook) MainLoop.runLogged(s) } finally exchange.shutdown } finally DefaultBackgroundJobService.backgroundJobService.shutdown()