From 02dbd03cb20599af70a67263314213edca948579 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 14 Mar 2019 21:36:03 +0100 Subject: [PATCH] IDEA-CR-44826 `newConfigFolder` check must be performed before system directories are locked --- .../platform-impl/src/com/intellij/idea/StartupUtil.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/idea/StartupUtil.java b/platform/platform-impl/src/com/intellij/idea/StartupUtil.java index 9be2af5559aa..ae6fcfd0be03 100644 --- a/platform/platform-impl/src/com/intellij/idea/StartupUtil.java +++ b/platform/platform-impl/src/com/intellij/idea/StartupUtil.java @@ -127,6 +127,9 @@ public class StartupUtil { System.exit(Main.JDK_CHECK_FAILED); } + // this check must be performed before system directories are locked + boolean newConfigFolder = !Main.isHeadless() && !new File(PathManager.getConfigPath()).exists(); + Callable task = () -> { Activity activity = ParallelActivity.PREPARE_APP_INIT.start(ActivitySubNames.CHECK_SYSTEM_DIR); // note: uses config folder! @@ -179,7 +182,6 @@ public class StartupUtil { activity.end(); } - boolean newConfigFolder = false; try { Activity activity = StartUpMeasurer.start(Phases.WAIT_TASKS); if (!futures.isEmpty()) { @@ -188,10 +190,6 @@ public class StartupUtil { } } - if (!Main.isHeadless()) { - newConfigFolder = !new File(PathManager.getConfigPath()).exists(); - } - if (pooledActivitiesFuture != null) { log = pooledActivitiesFuture.get(); }