Bug 307309 - IOConsoleInputStream.available() should return -1 if size
is zero
This avioids endless while loop in
ProcessConsole.InputReadJob.run(IProgressMonitor)
Change-Id: Ied3dc78a2f1b9671e64193a18ead17c9f9f57f08
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
index 0791aa5..08aca97 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
@@ -269,6 +269,11 @@
public int available() throws IOException {
if (closed && eofSent) {
throw new IOException("Input Stream Closed"); //$NON-NLS-1$
+ } else if (size == 0) {
+ if (!eofSent) {
+ eofSent = true;
+ return -1;
+ }
}
return size;
}