diff --git a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt index d539ff51fec..90b720d79f8 100644 --- a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt +++ b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt @@ -38,6 +38,7 @@ import org.jetbrains.kotlin.scripting.compiler.plugin.impl.reporter import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionsFromClasspathDiscoverySource import java.io.File import java.net.URLClassLoader +import java.rmi.RemoteException import java.util.concurrent.ConcurrentHashMap import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration @@ -218,6 +219,12 @@ internal object CompilationServiceImpl : CompilationService { ) ).get() + try { + daemon.releaseCompileSession(sessionId) + } catch (e: RemoteException) { + loggerAdapter.kotlinLogger.warn("Unable to release compile session, maybe daemon is already down: $e") + } + return (ExitCode.entries.find { it.code == exitCode } ?: if (exitCode == 0) { ExitCode.OK } else {