Skip to content

Commit

Permalink
Fix StorageManager deadlock
Browse files Browse the repository at this point in the history
  • Loading branch information
vmishenev committed Apr 29, 2022
1 parent 2a0ed52 commit 689f936
Showing 1 changed file with 3 additions and 1 deletion.
Expand Up @@ -76,6 +76,7 @@ import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import java.io.File
import org.jetbrains.kotlin.konan.file.File as KFile

Expand Down Expand Up @@ -122,6 +123,7 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl
// TODO: figure out why compilation fails with unresolved `CoreApplicationEnvironment.registerApplicationService(...)`
// call, fix it appropriately
with(ApplicationManager.getApplication() as MockApplication) {
extensionArea
if (getService(KlibLoadingMetadataCache::class.java) == null)
registerService(KlibLoadingMetadataCache::class.java, KlibLoadingMetadataCache())
}
Expand Down Expand Up @@ -191,7 +193,7 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl
val commonDependencyContainer = if (analysisPlatform == Platform.common) DokkaKlibMetadataCommonDependencyContainer(
kotlinLibraries.values.toList(),
environment.configuration,
projectContext.storageManager
LockBasedStorageManager("DokkaKlibMetadata")
) else null

val extraModuleDependencies = kotlinLibraries.values.registerLibraries() + commonDependencyContainer?.moduleInfos.orEmpty()
Expand Down

0 comments on commit 689f936

Please sign in to comment.