diff options
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/engine/SomeFunction.java | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/engine/SomeFunction.java b/src/main/java/com/google/devtools/build/lib/query2/engine/SomeFunction.java index 4b07a99f07..995e288f29 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/engine/SomeFunction.java +++ b/src/main/java/com/google/devtools/build/lib/query2/engine/SomeFunction.java @@ -64,11 +64,10 @@ class SomeFunction implements QueryFunction { @Override public void process(Iterable<T> partialResult) throws QueryException, InterruptedException { - if (someFound.get() || Iterables.isEmpty(partialResult)) { + if (Iterables.isEmpty(partialResult) || !someFound.compareAndSet(false, true)) { return; } callback.process(ImmutableSet.of(partialResult.iterator().next())); - someFound.set(true); } }); return env.whenSucceedsCall( |