From 51e862e793e7f2ed363a4a563adbe119f5a8aba8 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Fri, 15 Mar 2019 22:56:39 +0300 Subject: [PATCH] Fix file descriptor unlimited growth. --- .../kotlin/backend/common/library/CombinedIrFileAccessor.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/library/CombinedIrFileAccessor.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/library/CombinedIrFileAccessor.kt index ddc81402056..30be262de2a 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/library/CombinedIrFileAccessor.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/library/CombinedIrFileAccessor.kt @@ -31,7 +31,9 @@ fun File.map(mode: FileChannel.MapMode = FileChannel.MapMode.READ_ONLY, if (mode == FileChannel.MapMode.READ_ONLY) "r" else "rw") val fileSize = if (mode == FileChannel.MapMode.READ_ONLY) file.length() else size.also { assert(size != -1L) } - return file.channel.map(mode, start, fileSize) // Shall we .also { file.close() }? + val channel = file.channel + return channel.map(mode, start, fileSize) + .also { channel.close() } // Channel close closes the file also. } class CombinedIrFileReader(file: File) {