IDEA-CR-37594: fixes after review

This commit is contained in:
Sergey Malenkov
2018-10-11 15:52:08 +03:00
parent a59109a06e
commit 41e366f186
@@ -48,7 +48,9 @@ public abstract class Invoker implements Disposable {
@Override
public void dispose() {
disposed = true;
indicators.keySet().forEach(AsyncPromise::cancel);
while (!indicators.isEmpty()) {
indicators.keySet().forEach(AsyncPromise::cancel);
}
}
/**
@@ -229,7 +231,8 @@ public abstract class Invoker implements Disposable {
ProgressIndicatorBase indicator = indicators.get(promise);
if (indicator == null) {
indicator = new ProgressIndicatorBase(true);
indicators.put(promise, indicator);
ProgressIndicatorBase old = indicators.put(promise, indicator);
if (old != null) LOG.error("the same task is running in parallel");
promise.onProcessed(done -> indicators.remove(promise).cancel());
}
return indicator;