diff options
author | Nathan Harmata <nharmata@google.com> | 2017-03-11 00:03:18 +0000 |
---|---|---|
committer | Vladimir Moskva <vladmos@google.com> | 2017-03-12 01:45:06 +0000 |
commit | ad5d9c375900b2c9f6d835b8de17206666f912d6 (patch) | |
tree | 8772e3802bbebc988da41bb5bc885ff0bf31f2a1 /src/main | |
parent | fb2d38b34219b06cdbb280ad2ab5132b658dce8f (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')
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); - } -} - |