diff --git a/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java b/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java index 12f9c40731f..37846eeb94d 100644 --- a/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java +++ b/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java @@ -79,9 +79,19 @@ public long skip(long n) throws IOException { @Override public void close() throws IOException { + IOException failure = null; for (InputStream stream : mInputStreams) { - stream.close(); + try { + stream.close(); + } catch (IOException e) { + if (failure == null) { + failure = e; + } else { + failure.addSuppressed(e); + } + } } + if (failure != null) throw failure; } @Override