diff options
author | 2016-08-17 16:52:17 +0000 | |
---|---|---|
committer | 2016-08-18 08:29:35 +0000 | |
commit | ef5c5dd5c116b25f74ac90024ef63c7fad8f1bc5 (patch) | |
tree | 28c4ea9acc37d06d00789e6631058c0ac53443e8 /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | c486637cb984cf3ba778c392de975888e5b48a68 (diff) |
Allow SkyframePackageRootResolver's methods to throw interrupts, now that the interface allows it.
--
MOS_MIGRATED_REVID=130530262
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index 343e59dbe8..3b22de7da6 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java @@ -700,18 +700,21 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { } // TODO(bazel-team): Make this take a PackageIdentifier. - public Map<PathFragment, Root> getArtifactRootsForFiles(final EventHandler eventHandler, - Iterable<PathFragment> execPaths) throws PackageRootResolutionException { + public Map<PathFragment, Root> getArtifactRootsForFiles( + final EventHandler eventHandler, Iterable<PathFragment> execPaths) + throws PackageRootResolutionException, InterruptedException { return getArtifactRoots(eventHandler, execPaths, true); } - public Map<PathFragment, Root> getArtifactRoots(final EventHandler eventHandler, - Iterable<PathFragment> execPaths) throws PackageRootResolutionException { + public Map<PathFragment, Root> getArtifactRoots( + final EventHandler eventHandler, Iterable<PathFragment> execPaths) + throws PackageRootResolutionException, InterruptedException { return getArtifactRoots(eventHandler, execPaths, false); } - private Map<PathFragment, Root> getArtifactRoots(final EventHandler eventHandler, - Iterable<PathFragment> execPaths, boolean forFiles) throws PackageRootResolutionException { + private Map<PathFragment, Root> getArtifactRoots( + final EventHandler eventHandler, Iterable<PathFragment> execPaths, boolean forFiles) + throws PackageRootResolutionException, InterruptedException { final List<SkyKey> packageKeys = new ArrayList<>(); if (forFiles) { @@ -731,18 +734,9 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { } EvaluationResult<ContainingPackageLookupValue> result; - try { - result = callUninterruptibly(new Callable<EvaluationResult<ContainingPackageLookupValue>>() { - @Override - public EvaluationResult<ContainingPackageLookupValue> call() throws InterruptedException { - synchronized (valueLookupLock) { - return buildDriver.evaluate( - packageKeys, /*keepGoing=*/true, /*numThreads=*/1, eventHandler); - } - } - }); - } catch (Exception e) { - throw new IllegalStateException(e); // Should never happen. + synchronized (valueLookupLock) { + result = + buildDriver.evaluate(packageKeys, /*keepGoing=*/ true, /*numThreads=*/ 1, eventHandler); } if (result.hasError()) { |