Hi Alan/Michael/Volker, Here is the link to the version 7 of the patch. http://cr.openjdk.java.net/~mcberg/jdk/6432031/webrev.07/
Please note: after the code has been uploaded, I found out I forgot to remove extra check of ENOPROTOOPT in the net_util_md.c. Since it took us couple days to upload the code each time, I think it might be a good idea to mark this as an open item for now. I will change it in next version for sure together with anything you found in the current version. In this version, we have addressed following items. Please let us know your comments and feedback. 1. Define SO_REUSEPORT to 0x0200 for AIX and OSX. Define SO_REUSEPORT to 0 on Windows and other unknown platforms. 2. genSocketOptionRegistry.c emits a definition on all platforms. 3. Move isReusePortAvailable function from SocketImpl to AbstractPlainSocketImpl. 4. Added comments for SO_REUSEPORT in MulticastSocket.java. 5. Add @since 9 to SocketOptions.SO_REUSEPORT. 6. Corrected indentation for AbstractPlainDatagramSocketImpl. 7. Removed initialization to volatile boolean variables. 8. Added #ifdef SO_REUSEPORT to SdpSupport.convert0. 9. Added space to comments //SO...... to make it consistent with the rest of the code. Thanks, Lucy -----Original Message----- From: Alan Bateman [mailto:alan.bate...@oracle.com] Sent: Thursday, January 07, 2016 9:56 AM To: Lu, Yingqi <yingqi...@intel.com>; Volker Simonis <volker.simo...@gmail.com> Cc: net-dev@openjdk.java.net; Viswanathan, Sandhya <sandhya.viswanat...@intel.com>; Kharbas, Kishor <kishor.khar...@intel.com>; Aundhe, Shirish <shirish.aun...@intel.com>; Kaczmarek, Eric <eric.kaczma...@intel.com> Subject: Re: Patch for adding SO_REUSEPORT socket option On 07/01/2016 16:41, Lu, Yingqi wrote: > Hi Alan, > > In AbstractPlainSocketImpl, I am using the existing/default initializer so > that there is only 1 initializer. However, it does not execute. That is the > issue I am seeing. > > Any suggestion on the issue? > Are you 100% sure that your updated AbstractPlainSocketImpl is included in the build? I just did a quick check to add Thread.dumpStack() into that initializer and I see it running when creating a Socket or ServerSocket. I believe each of the platform implementations extend AbstractPlainSocketImpl so you should see it running on all platforms. -Alan