[K/N] Fix OS file handles leak in DependencyProcessor

Merge-request: KT-MR-12705
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
Vladimir Sukharev
2023-10-26 20:03:34 +00:00
committed by Space Team
parent f82c3c3bf7
commit aebbdeaf92
@@ -295,14 +295,16 @@ class DependencyProcessor(
if (remoteDependencies.isEmpty()) { return } if (remoteDependencies.isEmpty()) { return }
synchronized(lock) { synchronized(lock) {
RandomAccessFile(lockFile, "rw").channel.lock().use { RandomAccessFile(lockFile, "rw").use {
remoteDependencies.forEach { (dependency, candidate) -> it.channel.lock().use {
val baseUrl = when (candidate) { remoteDependencies.forEach { (dependency, candidate) ->
DependencySource.Remote.Public -> dependenciesUrl val baseUrl = when (candidate) {
DependencySource.Remote.Internal -> InternalServer.url DependencySource.Remote.Public -> dependenciesUrl
DependencySource.Remote.Internal -> InternalServer.url
}
// TODO: consider using different caches for different remotes.
downloadDependency(dependency, baseUrl)
} }
// TODO: consider using different caches for different remotes.
downloadDependency(dependency, baseUrl)
} }
} }
} }