aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/net/natPlainSocketImplWin32.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/java/net/natPlainSocketImplWin32.cc')
-rw-r--r--libjava/gnu/java/net/natPlainSocketImplWin32.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/libjava/gnu/java/net/natPlainSocketImplWin32.cc b/libjava/gnu/java/net/natPlainSocketImplWin32.cc
index c4a54a90c3a..81cf6328078 100644
--- a/libjava/gnu/java/net/natPlainSocketImplWin32.cc
+++ b/libjava/gnu/java/net/natPlainSocketImplWin32.cc
@@ -491,6 +491,11 @@ jint
gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer,
jint offset, jint count)
{
+ // If zero bytes were requested, short circuit so that recv
+ // doesn't signal EOF.
+ if (count == 0)
+ return 0;
+
if (! buffer)
throw new ::java::lang::NullPointerException;