diff options
author | Alex Light <allight@google.com> | 2018-02-27 17:21:08 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-02-27 17:21:08 +0000 |
commit | dc04857472fc5b29349b4e9d5e0fd788154fb4c5 (patch) | |
tree | 12a4e22b22bf9a092645eba623e4a8f7845f8d86 /jdwp | |
parent | 75ee85088a0d2b3002eb8155baab734c7dd758ad (diff) | |
parent | c51b82b3f9842a7d6688836ccdd19885138e9789 (diff) | |
download | apache-harmony-pie-qpr1-release.tar.gz |
Merge "Make StreamRedirector try to exhaust itself before exiting" am: 13cd3f2bfc am: 07dc739759android-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r39android-9.0.0_r38android-9.0.0_r37android-9.0.0_r36android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r19android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11pie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-dr1-releasepie-dr1-devpie-devpie-b4s4-releasepie-b4s4-dev
am: c51b82b3f9
Change-Id: I007ef9b1960f244ac2ea6433d5cd63363b6bd05c
Diffstat (limited to 'jdwp')
-rw-r--r-- | jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/StreamRedirector.java | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/StreamRedirector.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/StreamRedirector.java index 56fefee..ca2ebc0 100644 --- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/StreamRedirector.java +++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/StreamRedirector.java @@ -26,9 +26,9 @@ package org.apache.harmony.jpda.tests.framework; import java.io.InputStreamReader; -import java.io.BufferedReader; import java.io.InputStream; import java.io.IOException; +import java.io.Reader; /** * <p>This class provides redirection of debuggee output and error streams to logWriter. @@ -37,7 +37,7 @@ public class StreamRedirector extends Thread { String name; LogWriter logWriter; - BufferedReader br; + Reader br; boolean doExit; /** @@ -51,8 +51,7 @@ public class StreamRedirector extends Thread { super("Redirector for " + name); this.name = name; this.logWriter = logWriter; - InputStreamReader isr = new InputStreamReader(is); - br = new BufferedReader(isr, 1024); + br = new InputStreamReader(is); doExit = false; } @@ -63,19 +62,30 @@ public class StreamRedirector extends Thread { public void run() { logWriter.println("Redirector started: " + name); try { - String line = ""; - while (!doExit) { + StringBuilder cur = new StringBuilder(); + while (!doExit || br.ready()) { try { - line = br.readLine(); - if (line == null) + int nc = br.read(); + if (nc == -1) { + if (cur.length() != 0) { + logWriter.println(name + "> " + cur.toString()); + cur.setLength(0); + } break; - - logWriter.println(name + "> " + line); + } else if (nc == (int)'\n') { + logWriter.println(name + "> " + cur.toString()); + cur.setLength(0); + } else { + cur.appendCodePoint(nc); + } } catch (IllegalStateException e) { //logWriter.printError("Illegal state exception! " + e); //ignore } - + } + if (cur.length() != 0) { + logWriter.println(name + "> " + cur.toString()); + cur.setLength(0); } logWriter.println("Redirector completed: " + name); } catch (IOException e) { |