diff options
author | Sorin Basca <sorinbasca@google.com> | 2024-02-28 17:01:40 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-02-28 17:01:40 +0000 |
commit | 164d8a8eafc055ebb2bc960caad4a14efdda2b17 (patch) | |
tree | b5d896716579f774f701defa6118131093a04899 | |
parent | 1f320423d12aef8058a3230892b9b8512458ab21 (diff) | |
parent | b2502802c4b488efe62bd0e8eba0a3d6cc4bdd50 (diff) | |
download | vogar-164d8a8eafc055ebb2bc960caad4a14efdda2b17.tar.gz |
Handle stream closed when task process exits am: b2502802c4
Original change: https://android-review.googlesource.com/c/platform/external/vogar/+/2971135
Change-Id: Ib0cc455f92418f121aab26afd74a6be157686832
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | src/vogar/monitor/InterleavedReader.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/vogar/monitor/InterleavedReader.java b/src/vogar/monitor/InterleavedReader.java index 2f9f15a..a97ba56 100644 --- a/src/vogar/monitor/InterleavedReader.java +++ b/src/vogar/monitor/InterleavedReader.java @@ -78,7 +78,15 @@ public final class InterleavedReader implements Closeable { int textEnd; while (true) { - int r = reader.read(buffer, count, buffer.length - count); + int r = -1; + + try { + r = reader.read(buffer, count, buffer.length - count); + } catch (IOException e) { + // When running under gcstress, the output stream may be closed outside our control when + // the target process exits. In order to allow this, catch the stream closed exception and + // return whatever has been buffered already. (b/308917607) + } if (r == -1) { // the input is exhausted; return the remaining characters |