diff options
author | Mark Schaller <mschaller@google.com> | 2015-10-13 20:06:19 +0000 |
---|---|---|
committer | Florian Weikert <fwe@google.com> | 2015-10-13 21:13:27 +0000 |
commit | eff2b450bd44d019d3b23495e383cfce9e473fe6 (patch) | |
tree | 5ed1e0fffae45eee1153d7c36b34782cac76ab83 /src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java | |
parent | 5a9b69919927ee076ca0817da3489e43eb88d338 (diff) |
Allow other ExecutorService implementations in AbstractQueueVisitor
Previously, only ThreadPoolExecutor implementations were allowed.
--
MOS_MIGRATED_REVID=105340237
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java b/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java index be6cf81310..ce76bc6996 100644 --- a/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java +++ b/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java @@ -15,12 +15,12 @@ package com.google.devtools.build.skyframe; import com.google.common.base.Function; import com.google.devtools.build.lib.concurrent.AbstractQueueVisitor; -import com.google.devtools.build.lib.concurrent.ThreadPoolExecutorParams; +import com.google.devtools.build.lib.concurrent.ExecutorParams; import com.google.devtools.build.skyframe.InvalidatingNodeVisitor.DeletingNodeVisitor; import com.google.devtools.build.skyframe.InvalidatingNodeVisitor.DirtyingNodeVisitor; import com.google.devtools.build.skyframe.InvalidatingNodeVisitor.InvalidationState; -import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.ExecutorService; import javax.annotation.Nullable; @@ -73,24 +73,13 @@ public final class EagerInvalidator { EvaluationProgressReceiver invalidationReceiver, InvalidationState state, DirtyKeyTracker dirtyKeyTracker, - Function<ThreadPoolExecutorParams, ThreadPoolExecutor> executorFactory) { + Function<ExecutorParams, ? extends ExecutorService> executorFactory) { state.update(diff); return state.isEmpty() ? null : new DirtyingNodeVisitor(graph, invalidationReceiver, state, dirtyKeyTracker, executorFactory); } - @Nullable - static DirtyingNodeVisitor createInvalidatingVisitorIfNeeded( - DirtiableGraph graph, - Iterable<SkyKey> diff, - EvaluationProgressReceiver invalidationReceiver, - InvalidationState state, - DirtyKeyTracker dirtyKeyTracker) { - return createInvalidatingVisitorIfNeeded(graph, diff, invalidationReceiver, state, - dirtyKeyTracker, AbstractQueueVisitor.EXECUTOR_FACTORY); - } - /** * Invalidates given values and their upward transitive closure in the graph, using an executor * constructed with the provided factory, if necessary. @@ -101,7 +90,7 @@ public final class EagerInvalidator { EvaluationProgressReceiver invalidationReceiver, InvalidationState state, DirtyKeyTracker dirtyKeyTracker, - Function<ThreadPoolExecutorParams, ThreadPoolExecutor> executorFactory) + Function<ExecutorParams, ? extends ExecutorService> executorFactory) throws InterruptedException { // If we are invalidating, we must be in an incremental build by definition, so we must // maintain a consistent graph state by traversing the graph and invalidating transitive |