From 9d09a1fe5de565785bb9b2f6ef154b17023586ff Mon Sep 17 00:00:00 2001 From: Constantin Piber <59023762+cpiber@users.noreply.github.com> Date: Sat, 25 Oct 2025 00:38:27 +0200 Subject: [PATCH] [#1596] Dispose KCEF on shutdown (#1738) * [#1596] Dispose KCEF on shutdown * Use blocking variant --- .../kotlin/suwayomi/tachidesk/server/ServerSetup.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/server/ServerSetup.kt b/server/src/main/kotlin/suwayomi/tachidesk/server/ServerSetup.kt index ce588e37..d1286b3b 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/server/ServerSetup.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/server/ServerSetup.kt @@ -71,6 +71,7 @@ import java.net.Authenticator import java.net.PasswordAuthentication import java.security.Security import java.util.Locale +import kotlin.concurrent.thread import kotlin.io.path.Path import kotlin.io.path.createDirectories import kotlin.io.path.div @@ -548,4 +549,13 @@ fun applicationSetup() { onError = { it?.printStackTrace() }, ) } + + Runtime.getRuntime().addShutdownHook( + thread(start = false) { + val logger = KotlinLogging.logger("KCEF") + logger.debug { "Shutting down KCEF" } + KCEF.disposeBlocking() + logger.debug { "KCEF shutdown complete" } + }, + ) }