RFR 8201510 : Merge TwoStacksPlainSocketImpl into DualStackPlainSocketImpl [win]
Ivan Gerasimov
ivan.gerasimov at oracle.com
Mon Apr 16 16:29:20 UTC 2018
Hello!
After integrating the fix for JDK-8198358 there are only a few
differences left in these two implementations, so it is relatively easy
to merge them together.
Some cleanup was done along the way:
- unused argument in socket0() was removed,
- tests of the IP family were moved from native code to Java layer,
- SetHandleInformation((HANDLE)(UINT_PTR)fd, HANDLE_FLAG_INHERIT, FALSE)
was removed from socket0 (as it is already done inside NET_Socket()),
- if (WSAGetLastError() == -2) branch removed from accept0(), as it can
never succeed anyway (in TwoStacks it was testing for newfd == -2, which
doesn't seem correct either),
- in accept0() added a check if (*env)->NewObject() was unsuccessful.
Also a regression test was added to verify that bind() and connect()
reject Inet6Address when the system option java.net.preferIPv4Stack is
set to true.
The patched JDK was successfully built and all the tests, including the
new one, passed well.
The new test also passed well on all other platforms.
Would you please help review the fix?
BUGURL: https://bugs.openjdk.java.net/browse/JDK-8201510
WEBREV: http://cr.openjdk.java.net/~igerasim/8201510/00/webrev/
Thanks in advance!
--
With kind regards,
Ivan Gerasimov
More information about the net-dev
mailing list