--- a/src/java.base/windows/native/libnet/SocketInputStream.c Thu Aug 30 09:12:07 2018 +0200
+++ b/src/java.base/windows/native/libnet/SocketInputStream.c Wed Aug 29 10:11:51 2018 +0200
@@ -122,12 +122,13 @@
(*env)->SetByteArrayRegion(env, data, off, nread, (jbyte *)bufP);
} else {
if (nread < 0) {
+ int err = WSAGetLastError();
// Check if the socket has been closed since we last checked.
// This could be a reason for recv failing.
if ((*env)->GetIntField(env, fdObj, IO_fd_fdID) == -1) {
JNU_ThrowByName(env, "java/net/SocketException", "Socket closed");
} else {
- switch (WSAGetLastError()) {
+ switch (err) {
case WSAEINTR:
JNU_ThrowByName(env, "java/net/SocketException",
"socket closed");