🐛 Actually handle connections in a new thread
authorDavid Roden <github-a8in@qsheltier.de>
Sun, 26 Jan 2025 14:40:25 +0000 (15:40 +0100)
committerDavid Roden <github-a8in@qsheltier.de>
Sun, 26 Jan 2025 14:40:25 +0000 (15:40 +0100)
server/src/main/java/de/qsheltier/msta/Server.java

index 9ae3c38..626d976 100644 (file)
@@ -83,9 +83,16 @@ public class Server implements Closeable {
                        startLatch.countDown();
                        while (!closed.get()) {
                                try {
-                                       try (var socket = serverSocket.accept()) {
-                                               handleSocket(socket.getInputStream(), socket.getOutputStream());
+                                       var socket = serverSocket.accept();
+                                       var inputStream = socket.getInputStream();
+                                       var outputStream = socket.getOutputStream();
+                                       new Thread(() -> {
+                                               try (var ignored = socket) {
+                                                       handleSocket(inputStream, outputStream);
+                                               } catch (IOException e) {
+                                                       /* swallow. */
                                        }
+                                       }, "MSTA Handler for " + socket.getRemoteSocketAddress()).start();
                                } catch (IOException e) {
                                        /* swallow exceptions. */
                                }