diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt index 2eb2103d84c..3d5288b52d0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt @@ -339,10 +339,12 @@ internal class GradleCompilerRunner(private val project: Project) : KotlinCompil private fun logFinish(strategy: String) = log.logFinish(strategy) override fun getDaemonConnection(environment: GradleCompilerEnvironment): CompileServiceSession? { - val compilerId = CompilerId.makeCompilerId(environment.compilerFullClasspath) - val clientIsAliveFlagFile = getOrCreateClientFlagFile(project) - val sessionIsAliveFlagFile = getOrCreateSessionFlagFile(project) - return newDaemonConnection(compilerId, clientIsAliveFlagFile, sessionIsAliveFlagFile, environment) + synchronized(this::javaClass) { + val compilerId = CompilerId.makeCompilerId(environment.compilerFullClasspath) + val clientIsAliveFlagFile = getOrCreateClientFlagFile(project) + val sessionIsAliveFlagFile = getOrCreateSessionFlagFile(project) + return newDaemonConnection(compilerId, clientIsAliveFlagFile, sessionIsAliveFlagFile, environment) + } } companion object {