diff options
author | Janak Ramakrishnan <janakr@google.com> | 2016-08-15 21:54:55 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2016-08-16 15:21:17 +0000 |
commit | 3c0adb26bac6d756fb97e4bcc6d4e5b2cefa5eeb (patch) | |
tree | c77f6438711f4b23d6c528907a81e23dc9e6dc91 /src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java | |
parent | 89125d5ee83f562c309a792a7c56ce24452e61ea (diff) |
Allow Skyframe graph lookups and value retrievals to throw InterruptedException.
The only place we now don't handle InterruptedException is in the action graph created after analysis, since I'm not sure that will be around for that much longer.
--
MOS_MIGRATED_REVID=130327770
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java index 792cc5fa13..b1b6259e90 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java @@ -23,7 +23,6 @@ import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.RootedPath; import com.google.devtools.build.skyframe.SkyFunction; - import java.io.IOException; import java.util.concurrent.atomic.AtomicReference; @@ -82,12 +81,12 @@ public class ExternalFilesHelper { * external repository). Such files are theoretically mutable, but certain Blaze flags may tell * Blaze to assume these files are immutable. * - * Note that {@link ExternalFilesHelper#maybeHandleExternalFile} is only used for - * {@link FileStateValue} and {@link DirectoryStateValue}, and also note that output files do - * not normally have corresponding {@link FileValue} instances (and thus also - * {@link FileStateValue} instances) in the Skyframe graph ({@link ArtifactFunction} only uses - * {@link FileValue}s for source files). But {@link FileStateValue}s for output files can still - * make their way into the Skyframe graph if e.g. a source file is a symlink to an output file. + * <p>Note that {@link ExternalFilesHelper#maybeHandleExternalFile} is only used for {@link + * FileStateValue} and {@link DirectoryListingStateValue}, and also note that output files do + * not normally have corresponding {@link FileValue} instances (and thus also {@link + * FileStateValue} instances) in the Skyframe graph ({@link ArtifactFunction} only uses {@link + * FileValue}s for source files). But {@link FileStateValue}s for output files can still make + * their way into the Skyframe graph if e.g. a source file is a symlink to an output file. */ // TODO(nharmata): Consider an alternative design where we have an OutputFileDiffAwareness. This // could work but would first require that we clean up all RootedPath usage. @@ -157,8 +156,8 @@ public class ExternalFilesHelper { * ERROR_OUT, it will throw an error instead. */ @ThreadSafe - public void maybeHandleExternalFile(RootedPath rootedPath, SkyFunction.Environment env) - throws IOException { + void maybeHandleExternalFile(RootedPath rootedPath, SkyFunction.Environment env) + throws IOException, InterruptedException { FileType fileType = getAndNoteFileType(rootedPath); if (fileType == FileType.INTERNAL) { return; |