< prev index next >

src/java.base/unix/native/libnet/PlainSocketImpl.c

Print this page
rev 50258 : [mq]: 8203369-Check-for-both-EAGAIN-and-EWOULDBLOCK-error-codes

*** 628,639 **** * accept connection but ignore ECONNABORTED indicating that * connection was eagerly accepted by the OS but was reset * before accept() was called. * * If accept timeout in place and timeout is adjusted with ! * each ECONNABORTED or EWOULDBLOCK to ensure that semantics ! * of timeout are preserved. */ for (;;) { int ret; jlong currNanoTime; --- 628,639 ---- * accept connection but ignore ECONNABORTED indicating that * connection was eagerly accepted by the OS but was reset * before accept() was called. * * If accept timeout in place and timeout is adjusted with ! * each ECONNABORTED or EWOULDBLOCK or EAGAIN to ensure that ! * semantics of timeout are preserved. */ for (;;) { int ret; jlong currNanoTime;
*** 671,686 **** if (newfd >= 0) { SET_BLOCKING(newfd); break; } ! /* non (ECONNABORTED or EWOULDBLOCK) error */ ! if (!(errno == ECONNABORTED || errno == EWOULDBLOCK)) { break; } ! /* ECONNABORTED or EWOULDBLOCK error so adjust timeout if there is one. */ if (nanoTimeout >= NET_NSEC_PER_MSEC) { currNanoTime = JVM_NanoTime(env, 0); nanoTimeout -= (currNanoTime - prevNanoTime); if (nanoTimeout < NET_NSEC_PER_MSEC) { JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException", --- 671,686 ---- if (newfd >= 0) { SET_BLOCKING(newfd); break; } ! /* non (ECONNABORTED or EWOULDBLOCK or EAGAIN) error */ ! if (!(errno == ECONNABORTED || errno == EWOULDBLOCK || errno == EAGAIN)) { break; } ! /* ECONNABORTED or EWOULDBLOCK or EAGAIN error so adjust timeout if there is one. */ if (nanoTimeout >= NET_NSEC_PER_MSEC) { currNanoTime = JVM_NanoTime(env, 0); nanoTimeout -= (currNanoTime - prevNanoTime); if (nanoTimeout < NET_NSEC_PER_MSEC) { JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
< prev index next >