From f3f40d6442090ce7ee9cca62e5d14aa8c2db9200 Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Mon, 5 Oct 2020 20:30:14 -0700 Subject: [PATCH] Initialize value before starting thread Depending on how quickly the thread starts up, this can cause an NPE (see #5938). --- .../src/main/scala/sbt/internal/util/Terminal.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala index 73ea1c54f..7f75f733b 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala @@ -608,9 +608,9 @@ object Terminal { */ private class ReadThread extends Thread with AutoCloseable { val result = new LinkedBlockingQueue[Integer] + val running = new AtomicBoolean(true) setDaemon(true) start() - val running = new AtomicBoolean(true) override def run(): Unit = while (running.get) { bootInputStreamHolder.get match { case null =>