From 447ab5011c01b04af063130ac91338b960bcd4b5 Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Wed, 27 Mar 2019 16:51:26 -0700 Subject: [PATCH] Reduce latency of InputStream polling Calling InputStream.available has low overhead so there is no need to have such a long input latency. --- .../src/main/scala/sbt/internal/util/LineReader.scala | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala b/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala index 0e9c0ed41..34153e45d 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala @@ -9,9 +9,11 @@ package sbt.internal.util import jline.console.ConsoleReader import jline.console.history.{ FileHistory, MemoryHistory } -import java.io.{ File, InputStream, FileInputStream, FileDescriptor, FilterInputStream } +import java.io.{ File, FileDescriptor, FileInputStream, FilterInputStream, InputStream } + import complete.Parser -import scala.concurrent.duration.Duration + +import scala.concurrent.duration._ import scala.annotation.tailrec abstract class JLine extends LineReader { @@ -120,7 +122,7 @@ private[sbt] object JLine { protected[this] val originalIn = new FileInputStream(FileDescriptor.in) private[sbt] def makeInputStream(injectThreadSleep: Boolean): InputStream = - if (injectThreadSleep) new InputStreamWrapper(originalIn, Duration("50 ms")) + if (injectThreadSleep) new InputStreamWrapper(originalIn, 2.milliseconds) else originalIn // When calling this, ensure that enableEcho has been or will be called.