From b1e84593b535b8e1e20df842f34ba3d34079b819 Mon Sep 17 00:00:00 2001 From: Eugene Petrenko Date: Mon, 11 Sep 2017 12:04:17 +0200 Subject: [PATCH] fix leaked non-daemon thread in Downloader --- .../kotlin/konan/util/DependencyDownloader.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/util/DependencyDownloader.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/util/DependencyDownloader.kt index 43cba1aefa5..e0ac02dc881 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/util/DependencyDownloader.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/util/DependencyDownloader.kt @@ -12,7 +12,15 @@ class DependencyDownloader( var maxAttempts: Int = DEFAULT_MAX_ATTEMPTS, var attemptIntervalMs: Long = DEFAULT_ATTEMPT_INTERVAL_MS ) { - val executor = ExecutorCompletionService(Executors.newSingleThreadExecutor()) + val executor = ExecutorCompletionService(Executors.newSingleThreadExecutor(object : ThreadFactory { + override fun newThread(r: Runnable?): Thread { + val thread = Thread(r) + thread.name = "konan-dependency-downloader" + thread.isDaemon = true + + return thread + } + })) enum class ReplacingMode { /** Redownload the file and replace the existing one. */