src/solaris/native/java/net/SocketInputStream.c
Print this page
*** 98,110 ****
} else {
bufP = BUF;
}
if (timeout) {
! nread = NET_Timeout(fd, timeout);
if (nread <= 0) {
! if (nread == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Read timed out");
} else if (nread == -1) {
if (errno == EBADF) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
--- 98,112 ----
} else {
bufP = BUF;
}
if (timeout) {
! nread = NET_Timeout(env, fd, timeout);
if (nread <= 0) {
! if ((*env)->ExceptionCheck(env)) {
! // fall-through, to potentially free, then return
! } else if (nread == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Read timed out");
} else if (nread == -1) {
if (errno == EBADF) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");