diff options
author | Shawn Pearce <spearce@spearce.org> | 2016-08-19 19:10:58 -0400 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org <gerrit@eclipse.org> | 2016-08-19 19:11:03 -0400 |
commit | b4192093f19e96407f031183c73746600838ef74 (patch) | |
tree | e432afbf313f5e56059288396ebf4057173162be | |
parent | f15e9c088a6c50d96789fbeba04bb3272a5d3d4d (diff) | |
parent | 108bee17cfb13624030a405681701a412ed76676 (diff) | |
download | jgit-b4192093f19e96407f031183c73746600838ef74.tar.gz jgit-b4192093f19e96407f031183c73746600838ef74.zip |
Merge "Ignore IOException thrown from close"
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java index 253acbb76a..ec587d5997 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java @@ -990,7 +990,16 @@ public abstract class FS { new StreamGobbler(inRedirect, outputStream) .call(); } - outputStream.close(); + try { + outputStream.close(); + } catch (IOException e) { + // When the process exits before consuming the input, the OutputStream + // is replaced with the null output stream. This null output stream + // throws IOException for all write calls. When StreamGobbler fails to + // flush the buffer because of this, this close call tries to flush it + // again. This causes another IOException. Since we ignore the + // IOException in StreamGobbler, we also ignore the exception here. + } return process.waitFor(); } catch (IOException e) { ioException = e; |