Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Barnes2005-06-07 17:23:09 +0000
committerKevin Barnes2005-06-07 17:23:09 +0000
commitd237e8af0713c81eaa78357181c9cb64fb3ddeac (patch)
treee1f3f55802ef8cb4e0029bc7a8058b4e4826262e
parent73dc834c619d5bcb645815068eb5518b291c5508 (diff)
downloadeclipse.platform.debug-d237e8af0713c81eaa78357181c9cb64fb3ddeac.tar.gz
eclipse.platform.debug-d237e8af0713c81eaa78357181c9cb64fb3ddeac.tar.xz
eclipse.platform.debug-d237e8af0713c81eaa78357181c9cb64fb3ddeac.zip
Bug 92135 - Investigate console performance test failures
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
index 93cd5adff..32419d542 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
@@ -66,6 +66,8 @@ public class OutputStreamMonitor implements IFlushableStreamMonitor {
*/
private boolean fKilled= false;
+ private long lastSleep;
+
/**
* Creates an output stream monitor on the
* given stream (connected to system out or err).
@@ -123,6 +125,8 @@ public class OutputStreamMonitor implements IFlushableStreamMonitor {
* exposing a <code>run</code> method.
*/
private void read() {
+ lastSleep = System.currentTimeMillis();
+ long currentTime = lastSleep;
byte[] bytes= new byte[BUFFER_SIZE];
int read = 0;
while (read >= 0) {
@@ -151,6 +155,15 @@ public class OutputStreamMonitor implements IFlushableStreamMonitor {
}
return;
}
+
+ currentTime = System.currentTimeMillis();
+ if (currentTime - lastSleep > 1000) {
+ lastSleep = currentTime;
+ try {
+ Thread.sleep(1); // just give up CPU to maintain UI responsiveness.
+ } catch (InterruptedException e) {
+ }
+ }
}
try {
fStream.close();

Back to the top