aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/net
diff options
context:
space:
mode:
authorDavid Daney <ddaney@avtrex.com>2005-03-15 16:46:51 +0000
committerDavid Daney <daney@gcc.gnu.org>2005-03-15 16:46:51 +0000
commit6dcd18b9aa78af93366156bb253d4bfaa89a3e8d (patch)
tree91fdc7ab4a90e289342eb60ae6b642f5dfe516af /libjava/gnu/java/net
parent4f51c6e7ca17e29ad16c1d346d26fa16e16df3ad (diff)
downloadgcc-6dcd18b9aa78af93366156bb253d4bfaa89a3e8d.zip
gcc-6dcd18b9aa78af93366156bb253d4bfaa89a3e8d.tar.gz
gcc-6dcd18b9aa78af93366156bb253d4bfaa89a3e8d.tar.bz2
natPlainSocketImplPosix.cc (read_helper): Handle count == 0 case.
2005-03-15 David Daney <ddaney@avtrex.com> * gnu/java/net/natPlainSocketImplPosix.cc (read_helper): Handle count == 0 case. 2005-03-15 David Daney <ddaney@avtrex.com> * java/io/BufferedInputStream.java (available): Use 'in' instead of 'super' for underlying stream access. (close): Ditto. (read(byte[], int, int)): Ditto. (refill): Ditto. (skip): Call skip on underlying stream when possible. From-SVN: r96516
Diffstat (limited to 'libjava/gnu/java/net')
-rw-r--r--libjava/gnu/java/net/natPlainSocketImplPosix.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/libjava/gnu/java/net/natPlainSocketImplPosix.cc b/libjava/gnu/java/net/natPlainSocketImplPosix.cc
index 46b56bb..3f1dde9 100644
--- a/libjava/gnu/java/net/natPlainSocketImplPosix.cc
+++ b/libjava/gnu/java/net/natPlainSocketImplPosix.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004 Free Software Foundation
+/* Copyright (C) 2003, 2004, 2005 Free Software Foundation
This file is part of libgcj.
@@ -405,6 +405,11 @@ gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer, jint
static jint
read_helper (jint native_fd, jint timeout, jbyte *bytes, jint count)
{
+ // If zero bytes were requested, short circuit so that recv
+ // doesn't signal EOF.
+ if (count == 0)
+ return 0;
+
// Do timeouts via select.
if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
{