Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java')
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
index c358b4ea68..b1493c6f25 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
@@ -424,7 +424,10 @@ public class Buffer implements InternalBuffer
{
try
{
- socketChannel.read(buffer);
+ if (socketChannel.read(buffer) == -1)
+ {
+ throw new IOException("Channel has reached end-of-stream");
+ }
}
catch (ClosedChannelException ex)
{
@@ -432,7 +435,9 @@ public class Buffer implements InternalBuffer
}
catch (IOException ex)
{
- throw new ClosedChannelException();
+ ClosedChannelException exception = new ClosedChannelException();
+ exception.initCause(ex);
+ throw exception;
}
}
}

Back to the top