[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] FYI: Some more net regression fixes
From: |
Mark Wielaard |
Subject: |
[cp-patches] FYI: Some more net regression fixes |
Date: |
Thu, 12 Jan 2006 11:35:13 +0100 |
Hi,
This fixes most of the remaining net regressions we were seeing in
Mauve.
2006-01-12 Mark Wielaard <address@hidden>
* native/jni/java-net/javanet.c (_javanet_recvfrom): Return -1 when
other side orderly closed connection.
* vm/reference/gnu/java/net/VMPlainSocketImpl.java
(read(PlainSocketImpl)): Mask byte to return unsigned int. Return -1
when end of stream reached.
There are only 2 regressions left which I still need to investigate:
-PASS: gnu.testlet.java.net.DatagramPacket.DatagramPacketReceive2:
DatagramPacket receive Test B errorCount=0 (number 1)
+FAIL: gnu.testlet.java.net.DatagramPacket.DatagramPacketReceive2:
DatagramPacket receive Test B errorCount=15 (number 1)
-PASS: gnu.testlet.java.net.DatagramSocket.DatagramSocketTest2:
invalid_send_addr (number 2)
+FAIL: gnu.testlet.java.net.DatagramSocket.DatagramSocketTest2:
invalid_send_addr: test 2 - Should NOT throw IOException (number 1)
Cheers,
Mark
Index: native/jni/java-net/javanet.c
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/java-net/javanet.c,v
retrieving revision 1.28
diff -u -r1.28 javanet.c
--- native/jni/java-net/javanet.c 12 Jan 2006 09:37:31 -0000 1.28
+++ native/jni/java-net/javanet.c 12 Jan 2006 10:34:59 -0000
@@ -1005,6 +1005,11 @@
(*port) = from_port;
}
+ /* zero bytes received means recv() noticed the other side orderly
+ closing the connection. */
+ if (received_bytes == 0)
+ received_bytes = -1;
+
return (received_bytes);
#else /* not WITHOUT_NETWORK */
#endif /* not WITHOUT_NETWORK */
Index: vm/reference/gnu/java/net/VMPlainSocketImpl.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/vm/reference/gnu/java/net/VMPlainSocketImpl.java,v
retrieving revision 1.1
diff -u -r1.1 VMPlainSocketImpl.java
--- vm/reference/gnu/java/net/VMPlainSocketImpl.java 4 Jan 2006 20:46:47
-0000 1.1
+++ vm/reference/gnu/java/net/VMPlainSocketImpl.java 12 Jan 2006 10:34:59
-0000
@@ -1,5 +1,5 @@
/* VMPlainSocketImpl.java -- VM interface for default socket implementation
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -199,15 +199,17 @@
*
* @param socket the socket object
*
- * @return read byte
+ * @return read byte or -1 if end of stream.
*
* @throws IOException if an error occurs
*/
static int read(PlainSocketImpl socket) throws IOException
{
byte[] buf = new byte[1];
- read(socket, buf, 0, 1);
- return buf[0];
+ if (read(socket, buf, 0, 1) > 0)
+ return buf[0] & 0xFF;
+ else
+ return -1;
}
/**
signature.asc
Description: This is a digitally signed message part
- [cp-patches] FYI: Some more net regression fixes,
Mark Wielaard <=