[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 }
synchronized(lock) {
RandomAccessFile(lockFile, "rw").channel.lock().use {
remoteDependencies.forEach { (dependency, candidate) ->
val baseUrl = when (candidate) {
DependencySource.Remote.Public -> dependenciesUrl
DependencySource.Remote.Internal -> InternalServer.url
RandomAccessFile(lockFile, "rw").use {
it.channel.lock().use {
remoteDependencies.forEach { (dependency, candidate) ->
val baseUrl = when (candidate) {
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)
}
}
}