aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Nathan Harmata <nharmata@google.com>2017-03-11 00:03:18 +0000
committerGravatar Vladimir Moskva <vladmos@google.com>2017-03-12 01:45:06 +0000
commitad5d9c375900b2c9f6d835b8de17206666f912d6 (patch)
tree8772e3802bbebc988da41bb5bc885ff0bf31f2a1 /src/main
parentfb2d38b34219b06cdbb280ad2ab5132b658dce8f (diff)
Remove usage of SynchronizedBatchCallback findTargetsBeneathDirectoryAsync; by design, the callback passed in there is thread safe. A previous change accidentally introduced this unnecessary synchronization.
Also move SynchronizedBatchCallback to the file with its only current usage. -- PiperOrigin-RevId: 149809083 MOS_MIGRATED_REVID=149809083
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java21
-rw-r--r--src/main/java/com/google/devtools/build/lib/util/SynchronizedBatchCallback.java33
2 files changed, 19 insertions, 35 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
index b68ef437f8..901ef211c5 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
@@ -45,7 +45,6 @@ import com.google.devtools.build.lib.pkgcache.FilteringPolicy;
import com.google.devtools.build.lib.pkgcache.RecursivePackageProvider;
import com.google.devtools.build.lib.pkgcache.TargetPatternResolverUtil;
import com.google.devtools.build.lib.util.BatchCallback;
-import com.google.devtools.build.lib.util.SynchronizedBatchCallback;
import com.google.devtools.build.lib.util.ThreadSafeBatchCallback;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.ArrayList;
@@ -183,6 +182,24 @@ public class RecursivePackageProviderBackedTargetPatternResolver
return target.getTargetKind();
}
+ /**
+ * A {@link ThreadSafeBatchCallback} that trivially delegates to a {@link BatchCallback} in a
+ * synchronized manner.
+ */
+ private static class SynchronizedBatchCallback<T, E extends Exception>
+ implements ThreadSafeBatchCallback<T, E> {
+ private final BatchCallback<T, E> delegate;
+
+ public SynchronizedBatchCallback(BatchCallback<T, E> delegate) {
+ this.delegate = delegate;
+ }
+
+ @Override
+ public synchronized void process(Iterable<T> partialResult) throws E, InterruptedException {
+ delegate.process(partialResult);
+ }
+ }
+
@Override
public <E extends Exception> void findTargetsBeneathDirectory(
final RepositoryName repository,
@@ -225,7 +242,7 @@ public class RecursivePackageProviderBackedTargetPatternResolver
directory,
rulesOnly,
excludedSubdirectories,
- new SynchronizedBatchCallback<Target, E>(callback),
+ callback,
executor);
}
diff --git a/src/main/java/com/google/devtools/build/lib/util/SynchronizedBatchCallback.java b/src/main/java/com/google/devtools/build/lib/util/SynchronizedBatchCallback.java
deleted file mode 100644
index ec7bd17a5d..0000000000
--- a/src/main/java/com/google/devtools/build/lib/util/SynchronizedBatchCallback.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2016 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-package com.google.devtools.build.lib.util;
-
-/**
- * A {@link ThreadSafeBatchCallback} that trivially delegates to a {@link BatchCallback} in a
- * synchronized manner.
- */
-public class SynchronizedBatchCallback<T, E extends Exception>
- implements ThreadSafeBatchCallback<T, E> {
- private final BatchCallback<T, E> delegate;
-
- public SynchronizedBatchCallback(BatchCallback<T, E> delegate) {
- this.delegate = delegate;
- }
-
- @Override
- public synchronized void process(Iterable<T> partialResult) throws E, InterruptedException {
- delegate.process(partialResult);
- }
-}
-