From 828aac8fe57c5acd18832df7e3c7b781c35170a7 Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Thu, 10 Sep 2020 11:54:04 -0700 Subject: [PATCH 1/2] Catch SocketException on server shutdown Fixes #5829 --- main-command/src/main/scala/sbt/internal/server/Server.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main-command/src/main/scala/sbt/internal/server/Server.scala b/main-command/src/main/scala/sbt/internal/server/Server.scala index 08cbaf429..69cc4813b 100644 --- a/main-command/src/main/scala/sbt/internal/server/Server.scala +++ b/main-command/src/main/scala/sbt/internal/server/Server.scala @@ -10,7 +10,7 @@ package internal package server import java.io.{ File, IOException } -import java.net.{ InetAddress, ServerSocket, Socket, SocketTimeoutException } +import java.net.{ InetAddress, ServerSocket, Socket, SocketException, SocketTimeoutException } import java.util.concurrent.atomic.{ AtomicBoolean, AtomicReference } import java.nio.file.attribute.{ AclEntry, AclEntryPermission, AclEntryType, UserPrincipal } import java.security.SecureRandom @@ -110,6 +110,7 @@ private[sbt] object Server { } catch { case e: IOException if e.getMessage.contains("connect") => case _: SocketTimeoutException => // its ok + case _: SocketException if !running.get => // the server is shutting down } } serverSocketHolder.get match { From 31f36eeff38eafd59fbdb5948cd59fd112d60c9f Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Thu, 10 Sep 2020 11:56:42 -0700 Subject: [PATCH 2/2] Add serverConnectionType to excludeLintKeys --- main/src/main/scala/sbt/internal/LintUnused.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/main/src/main/scala/sbt/internal/LintUnused.scala b/main/src/main/scala/sbt/internal/LintUnused.scala index e2c2f29fc..a8cafe419 100644 --- a/main/src/main/scala/sbt/internal/LintUnused.scala +++ b/main/src/main/scala/sbt/internal/LintUnused.scala @@ -36,6 +36,7 @@ object LintUnused { onLoadMessage, onUnload, sbt.nio.Keys.watchTriggers, + serverConnectionType, ), includeLintKeys := Set( scalacOptions,