On 22 Feb 2014, at 17:23, Dmitry Samersoff <dmitry.samers...@oracle.com> wrote:
> Chris, > > Didn't look to windows part. Unix part looks good for me. See also below. > > I'm a bit concerned because of mixing NET_* abstractions and direct call > to OS functions. It might be better to create NET_socket etc. Me too. It is already a mess. System calls should be used directly, unless there is a reason not to do so. > We use NET_GetSockOpt/NET_SetSockOpt in one places and plain os > functions in other ones it have to be unified. If there is no reason to call the NET_ variant, then the system call should be used. > (not to your changes, but as far as you touched it) > > Doing socklen_t n = sizeof(m) it's better cast to socklen_t explicitly - > on some platform socklen_t expands to int but sizeof to unsigned so it > can cause a compiler warning. The code compiles on all platforms warning free, but I understand your concern. I’ll make the change. > It's better to unify check of return value of os functions either as == > -1 or as < 0 I agree. Let me see if I can clean up some of these, but I’m reluctant to do much under this JIRA issue. > 1. net_util.c > Do we really need to check JNI_VERSION ? Nope. Just need the JNIEnv. > 2. Inet4AddressImpl.c > > 73, 335 it's better to use NI_MAXHOST in both places > > 784 optlen should be socklen_t > > 3. Inet6AddressImpl.c > > 73, 143 it's better to use NI_MAXHOST in both places > > 4. net_util_md.c > > 235 gettimeofday is obsoleted and might be not available on all > platforms. So it's better to try clock_gettime first I’ll take a look at these, but if there are any potential behavioural changes, desirable or otherwise, then they should come under a separate JIRA issue. -Chris. > > -Dmitry > > > On 2014-02-22 12:29, Chris Hegarty wrote: >> Interruptible I/O on Solaris has been highly problematic and the long >> standing plan has been to remove it from the JDK. In JDK6 the VM option >> UseVMInterruptibleIO was introduced to allow developers/customers experiment >> with disabling it. In JDK7 the default value of UseVMInterruptibleIO was >> changed to be "false" so that it is disabled by default. It is now finally >> being removed. >> >> This bug tracks changing the native in src/share/native/java/net and >> src/solaris/native/java/net so that the system calls are used directly >> rather than going through the JVM_* functions. >> >> http://cr.openjdk.java.net/~chegar/8034174/webrev.00/webrev/ >> >> -Chris. >> > > > -- > Dmitry Samersoff > Oracle Java development team, Saint Petersburg, Russia > * I would love to change the world, but they won't give me the sources.