IJPL-149317 More locks.

GitOrigin-RevId: cf9e05fb67cc347cbca67f47ba327595640202c9
This commit is contained in:
Lev Serebryakov
2024-09-08 21:54:24 +02:00
committed by intellij-monorepo-bot
parent 33d8231bf2
commit e081e49d93
2 changed files with 6 additions and 12 deletions

View File

@@ -3,8 +3,6 @@ package com.intellij.openapi.application
import org.jetbrains.annotations.ApiStatus
private const val COROUTINE_WIL_PROPERTY = "ide.coroutine.write.intent.lock"
/**
* - `false` means log an exception and proceed.
* - `true` means throw an exception.
@@ -19,7 +17,7 @@ val isMessageBusThrowsWhenDisposed: Boolean =
*/
@get:ApiStatus.Internal
val isCoroutineWILEnabled: Boolean =
System.getProperty(COROUTINE_WIL_PROPERTY, "true").toBoolean()
System.getProperty("ide.coroutine.write.intent.lock", "true").toBoolean()
/**
* - `false` means exceptions from [com.intellij.util.messages.Topic] subscribers are being logged

View File

@@ -33,10 +33,7 @@ import com.intellij.modcommand.ActionContext;
import com.intellij.modcommand.ModCommandAction;
import com.intellij.modcommand.ModCommandService;
import com.intellij.modcommand.ModCommandWithContext;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.application.*;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.diagnostic.Logger;
@@ -47,10 +44,7 @@ import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.IndexNotReadyException;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.NlsContexts;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.ThrowableComputable;
import com.intellij.openapi.util.*;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.psi.*;
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
@@ -158,7 +152,9 @@ public class ShowIntentionActionsHandler implements CodeInsightActionHandler {
useAlternativeResolve
? () -> dumbService.computeWithAlternativeResolveEnabled(prioritizedRunnable)
: prioritizedRunnable;
return ProgressManager.getInstance().runProcessWithProgressSynchronously(process, progressTitle, true, project);
return WriteIntentReadAction.compute((Computable<CachedIntentions>)() ->
ProgressManager.getInstance().runProcessWithProgressSynchronously(process, progressTitle, true, project)
);
}
private static void letAutoImportComplete(@NotNull Editor editor, @NotNull PsiFile file, DaemonCodeAnalyzerImpl codeAnalyzer) {