src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c
Print this page
@@ -53,11 +53,11 @@
while(1) {
if (select(/*ignored*/fd+1, &tbl, 0, 0, &t) <= 0) {
break;
}
if (recvfrom(fd, buf, 1, MSG_PEEK,
- (struct sockaddr *)&rmtaddr, &addrlen) != JVM_IO_ERR) {
+ (struct sockaddr *)&rmtaddr, &addrlen) != SOCKET_ERROR) {
break;
}
if (WSAGetLastError() != WSAECONNRESET) {
/* some other error - we don't care here */
break;
@@ -199,11 +199,11 @@
(JNIEnv *env, jclass clazz, jint fd) {
SOCKETADDRESS sa;
int len = sizeof(sa);
if (getsockname(fd, (struct sockaddr *)&sa, &len) == SOCKET_ERROR) {
- NET_ThrowNew(env, WSAGetLastError(), "JVM_GetSockName");
+ NET_ThrowNew(env, WSAGetLastError(), "getsockname");
return -1;
}
return (int) ntohs((u_short)GET_PORT(&sa));
}
@@ -282,16 +282,13 @@
rv = NET_Timeout(fd, timeout);
if (rv <= 0) {
if (rv == 0) {
JNU_ThrowByName(env,JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
- } else if (rv == JVM_IO_ERR) {
+ } else if (rv == -1) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
- } else if (rv == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
if (packetBufferLen > MAX_BUFFER_LEN) {
free(fullPacket);
}
return -1;
@@ -407,11 +404,11 @@
char BUF[MAX_BUFFER_LEN];
char *fullPacket;
int rv;
if (connected) {
- sap = 0; /* arg to JVM_Sendto () null in this case */
+ sap = 0; /* arg to sendto () null in this case */
sa_len = 0;
} else {
if (NET_InetAddressToSockaddr(env, iaObj, port, (struct sockaddr *)&sa,
&sa_len, JNI_TRUE) != 0) {
return;
@@ -436,15 +433,12 @@
(*env)->GetByteArrayRegion(env, data, offset, length,
(jbyte *)fullPacket);
rv = sendto(fd, fullPacket, length, 0, (struct sockaddr *)sap, sa_len);
if (rv == SOCKET_ERROR) {
- if (rv == JVM_IO_ERR) {
+ if (rv == -1) {
NET_ThrowNew(env, WSAGetLastError(), "Datagram send failed");
- } else if (rv == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
}
if (length > MAX_BUFFER_LEN) {
free(fullPacket);