From 830b10878e34e96446bdb12e946182df19dcc8cb Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 15 Jan 2025 12:57:04 -0500 Subject: [PATCH] [F] Fix other people disconnecting causing broadcast to crash --- .../aqua/sega/maimai2/worldslink/FutariServer.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt b/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt index 65b7383a..bc1dfb7b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt @@ -27,6 +27,7 @@ data class ActiveClient( val socket: Socket, val reader: BufferedReader, val writer: BufferedWriter, + val thread: Thread = Thread.currentThread(), // val tcpStreams: MutableMap = mutableMapOf(), val pendingStreams: MutableSet = mutableSetOf(), @@ -39,9 +40,16 @@ data class ActiveClient( fun send(msg: Msg) { writeMutex.withLock { - writer.write(msg.toString()) - writer.newLine() - writer.flush() + try { + writer.write(msg.toString()) + writer.newLine() + writer.flush() + } + catch (e: Exception) { + log.error("Error sending message", e) + socket.close() + thread.interrupt() + } } } }