[PATCH] SOCK_CLOEXEC for opening sockets

Alan Bateman Alan.Bateman at oracle.com
Mon Jul 16 07:33:04 UTC 2018


On 12/07/2018 08:21, Andrew Luo wrote:
>
> Thanks, I can refactor it.  I’m not as familiar with the OpenJDK 
> architecture – should I just duplicate the function into libnio or is 
> there some common utility library that I should move it into?  Also, 
> let me know what in net_util_* needs cleanup.  The other instances of 
> socket/socketpair in Mac/AIX/Solaris I’m willing to handle as well.
>
> Files are mostly already handled: 
> https://bugs.openjdk.java.net/browse/JDK-8043780 (in a similar way – 
> O_CLOEXEC on systems that support it and fcntl on other POSIX 
> systems).  One other resource you mentioned is epolls.  Perhaps 
> there’s also other file descriptors that are being used elsewhere, but 
> I think it will take me longer time to figure out.  I’m willing to 
> work on that as well if we all think it’s a good idea.
>
JDK-8043780 was in libjvm so it doesn't cover file and networking I/O or 
other file descriptors created in the libraries.

I agree with your comment that this could be done in steps as there are 
many areas of the libraries that would changes to work with code that 
uses fork/exec directly rather than ProcessBuilder/Process. It's okay to 
start with the socket and channel APIs (native code in libnet and libnio).

-Alan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20180716/d9fc04c9/attachment.html>


More information about the net-dev mailing list