diff options
author | nharmata <nharmata@google.com> | 2018-01-16 15:59:44 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-16 16:01:50 -0800 |
commit | 6f35e2d81a4d10359d39643bd03887d1b87f4224 (patch) | |
tree | fb971d4e4864c8dca3d0fd3585d07fafd448b455 | |
parent | 2b876c112b06d458585356682b6a11bc392ca4cc (diff) |
Have UnixGlob explicitly handle RuntimeExceptions encountered by individual glob tasks.
RELNOTES: None
PiperOrigin-RevId: 182125500
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/vfs/UnixGlob.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/UnixGlob.java b/src/main/java/com/google/devtools/build/lib/vfs/UnixGlob.java index ff2496547b..b20df29483 100644 --- a/src/main/java/com/google/devtools/build/lib/vfs/UnixGlob.java +++ b/src/main/java/com/google/devtools/build/lib/vfs/UnixGlob.java @@ -449,8 +449,8 @@ public final class UnixGlob { return delegate; } - public void setException(IOException exception) { - delegate.setException(exception); + public void setException(Throwable throwable) { + delegate.setException(throwable); } public void set(List<Path> paths) { @@ -488,7 +488,7 @@ public final class UnixGlob { private final ThreadPoolExecutor executor; private final AtomicLong totalOps = new AtomicLong(0); private final AtomicLong pendingOps = new AtomicLong(0); - private final AtomicReference<IOException> failure = new AtomicReference<>(); + private final AtomicReference<Throwable> failure = new AtomicReference<>(); private volatile boolean canceled = false; GlobVisitor( @@ -593,7 +593,7 @@ public final class UnixGlob { Profiler.instance().startTask(ProfilerTask.VFS_GLOB, this); try { reallyGlob(base, baseIsDir, idx, context); - } catch (IOException e) { + } catch (Throwable e) { failure.set(e); } finally { Profiler.instance().completeTask(ProfilerTask.VFS_GLOB); |