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");