From 86d7c5dfbd225af90503ec984b266d048410f685 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Tue, 3 Nov 2009 16:10:24 +0300 Subject: [PATCH] Decrease latency before cancellation when multiple threads asking for checkCancelled concurrently. --- .../src/com/intellij/openapi/progress/ProgressManager.java | 2 +- .../com/intellij/openapi/progress/impl/ProgressManagerImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/platform-api/src/com/intellij/openapi/progress/ProgressManager.java b/platform/platform-api/src/com/intellij/openapi/progress/ProgressManager.java index e3ea4a857051..146214bc1cd0 100644 --- a/platform/platform-api/src/com/intellij/openapi/progress/ProgressManager.java +++ b/platform/platform-api/src/com/intellij/openapi/progress/ProgressManager.java @@ -43,8 +43,8 @@ public abstract class ProgressManager { public static void checkCanceled() throws ProcessCanceledException { // smart optimization! There's a thread started in ProgressManagerImpl, that set's this flag up once in 10 milliseconds if (ourNeedToCheckCancel) { - ourNeedToCheckCancel = false; getInstance().doCheckCanceled(); + ourNeedToCheckCancel = false; } } diff --git a/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java index 286d21c7aa58..e9fc73e970bf 100644 --- a/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java @@ -85,7 +85,7 @@ public class ProgressManagerImpl extends ProgressManager { } else { ourLockedCheckCounter = 0; - progress.checkCanceled(); + throw e; } } }