diff --git a/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppExit.kt b/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppExit.kt index 4493ac6..96ba1fc 100644 --- a/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppExit.kt +++ b/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppExit.kt @@ -1,7 +1,10 @@ package ir.armor.tachidesk.server.util +import mu.KotlinLogging import kotlin.system.exitProcess +private val logger = KotlinLogging.logger {} + enum class ExitCode(val code: Int) { Success(0), MutexCheckFailedTachideskRunning(1), @@ -9,5 +12,7 @@ enum class ExitCode(val code: Int) { } fun shutdownApp(exitCode: ExitCode) { + logger.info("Shutting Down Tachidesk. Goodbye!") + exitProcess(exitCode.code) } diff --git a/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppMutex.kt b/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppMutex.kt index 948f721..994cb59 100644 --- a/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppMutex.kt +++ b/server/src/main/kotlin/ir/armor/tachidesk/server/util/AppMutex.kt @@ -59,11 +59,17 @@ object AppMutex { logger.info("Mutex status is clear, Resuming startup.") } TachideskInstanceRunning -> { - logger.info("Another instance of Tachidesk is running on $appIP:${serverConfig.port}, Aborting.") + logger.info("Another instance of Tachidesk is running on $appIP:${serverConfig.port}") + + logger.info("Probably user thought tachidesk is closed so, opening webUI in browser again.") + openInBrowser() + + logger.info("Aborting startup.") + shutdownApp(ExitCode.MutexCheckFailedTachideskRunning) } OtherApplicationRunning -> { - logger.error("A non Tachidesk application is running on $appIP:${serverConfig.port}, Aborting.") + logger.error("A non Tachidesk application is running on $appIP:${serverConfig.port}, aborting startup.") shutdownApp(ExitCode.MutexCheckFailedAnotherAppRunning) } }