From b8866078d2bb32147b4311f8aee0030d6cf37ea2 Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Wed, 6 May 2020 22:29:34 +0300 Subject: [PATCH] gradle.kts, scheduleLastModifiedFilesSave: fix race condition --- .../idea/scripting/gradle/roots/GradleBuildRootsManager.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt index fc09f4990d0..18f1fae9f9b 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt @@ -202,9 +202,10 @@ class GradleBuildRootsManager(val project: Project) : ScriptingSupport.Provider( fun scheduleLastModifiedFilesSave() { if (lastModifiedFilesSaveScheduled.compareAndSet(false, true)) { BackgroundTaskUtil.executeOnPooledThread(project) { - lastModifiedFilesSaveScheduled.set(false) - roots.list.forEach { - it.saveLastModifiedFiles() + if (lastModifiedFilesSaveScheduled.compareAndSet(true, false)) { + roots.list.forEach { + it.saveLastModifiedFiles() + } } } }