Prevent starting multiple daemons from Gradle

#KT-24560 fixed
This commit is contained in:
Alexey Tsvetkov
2018-05-23 13:54:12 +03:00
parent 48b55edb03
commit 0b22a3c67b
@@ -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 {