From 329c7b1a3c1b98bc0245dff8e27b37544ff55649 Mon Sep 17 00:00:00 2001 From: Oxters Date: Sun, 19 Jan 2025 17:23:19 -0500 Subject: [PATCH] Fixed an issue where ContentDownloader would not close the file streams of the files it is downloading --- .../steam/contentdownloader/ContentDownloader.kt | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/in/dragonbra/javasteam/steam/contentdownloader/ContentDownloader.kt b/src/main/java/in/dragonbra/javasteam/steam/contentdownloader/ContentDownloader.kt index 69112577..47819f0c 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/contentdownloader/ContentDownloader.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/contentdownloader/ContentDownloader.kt @@ -583,7 +583,7 @@ class ContentDownloader(val steamClient: SteamClient) { if (fileStreamData.fileStream == null) { val fileFinalPath = Paths.get(depot.installDir, file.fileName).toString() - val randomAccessFile = RandomAccessFile(fileFinalPath, "rw") // TODO this resource leaks. (see below) + val randomAccessFile = RandomAccessFile(fileFinalPath, "rw") fileStreamData.fileStream = randomAccessFile.channel } @@ -594,12 +594,10 @@ class ContentDownloader(val steamClient: SteamClient) { } val remainingChunks = synchronized(fileStreamData) { - fileStreamData.chunksToDownload-- + --fileStreamData.chunksToDownload } - if (remainingChunks == 0) { - // TODO this condition is never called? + if (remainingChunks <= 0) { fileStreamData.fileStream?.close() - fileStreamData.fileLock.release() } var sizeDownloaded: Long