From 8c07493c1fd0d5fa730468465c205b38900d6994 Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Sat, 15 Aug 2020 13:48:53 -0700 Subject: [PATCH] Handle interrupted exceptions in thin client reader When exiting the thin client, an interrupted exception stack trace ends up being printed because NonFatal doesn't include interrupted exceptions. Fixes https://github.com/sbt/sbt/issues/5759 --- .../src/main/scala/sbt/internal/client/NetworkClient.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala index 46fc1fa31..7dcf49569 100644 --- a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala +++ b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala @@ -905,7 +905,7 @@ class NetworkClient( } } try Terminal.console.withRawInput(read()) - catch { case NonFatal(_) => stopped.set(true) } + catch { case _: InterruptedException | NonFatal(_) => stopped.set(true) } } def drain(): Unit = inLock.synchronized {