From 4eedaea49ea2c072657020dcb39d36a89bc43b7b Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Thu, 25 Jun 2020 10:22:08 -0700 Subject: [PATCH] Synchronize ServerConnection.sendString Without synchronization, it is possible to interlace liens from multiple messages which causes parsing to fail on the server side. --- .../src/main/scala/sbt/internal/client/ServerConnection.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala b/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala index 93c9afcc0..23e8837af 100644 --- a/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala +++ b/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala @@ -62,7 +62,7 @@ abstract class ServerConnection(connection: Socket) { } thread.start() - def sendString(message: String): Unit = { + def sendString(message: String): Unit = this.synchronized { val a = message.getBytes("UTF-8") writeLine(s"""Content-Length: ${a.length + 2}""".getBytes("UTF-8")) writeLine(Array())