RFR [9] 8038459: (sctp) Remove superflous classes on platforms without an implementation [macosx, aix]
Erik Joelsson
erik.joelsson at oracle.com
Thu Mar 27 11:02:27 UTC 2014
Looks good to me from a build perspective.
/Erik
On 2014-03-27 11:46, Chris Hegarty wrote:
> While hunting around the build recently, when working on another SCTP bug, I noticed a small issue where SCTP classes are being built on some platforms unnecessarily.
>
> Webrev:
> http://cr.openjdk.java.net/~chegar/8038459/webrev.00/webrev/
>
> Mac OS X and AIX contain only stubs for the SCTP channels. There are platform specific versions of the stubs for these platforms, so the build currently filters out the three channel implementation classes, on these platforms. But, there are other implementation classes in src/solaris/classes/sun/nio/ch/sctp that are needed for Linux and Solaris. These classes should be filter out also, on platforms that do not require them ( Mac OS X and AIX ).
>
> Looking at rt. jar from a Mac JRE the superfluous classes can be seen:
>
> $ jar -tvf rt.jar | grep "sun/nio/ch/sctp"
> 2420 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/AssociationChange.class <<< NOT NEEDED
> 759 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/AssociationImpl.class <<< NOT NEEDED
> 2614 Thu Feb 27 23:47:04 GMT 2014 sun/nio/ch/sctp/MessageInfoImpl.class
> 2607 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/PeerAddrChange.class <<< NOT NEEDED
> 2793 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/ResultContainer.class <<< NOT NEEDED
> 2850 Thu Feb 27 23:47:10 GMT 2014 sun/nio/ch/sctp/SctpChannelImpl.class
> 2987 Thu Feb 27 23:47:10 GMT 2014 sun/nio/ch/sctp/SctpMultiChannelImpl.class
> 7712 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/SctpNet.class <<< NOT NEEDED
> 251 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/SctpNotification.class <<< NOT NEEDED
> 1935 Thu Feb 27 23:47:10 GMT 2014 sun/nio/ch/sctp/SctpServerChannelImpl.class
> 1379 Thu Feb 27 23:47:04 GMT 2014 sun/nio/ch/sctp/SctpStdSocketOption.class
> 1953 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/SendFailed.class <<< NOT NEEDED
> 1239 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/Shutdown.class <<< NOT NEEDED
>
> Note: SctpStdSocketOption.class and MessageInfoImpl.class are platform independent, and needed to support parts of the API that are not dependent on an actual socket implementation.
>
> -Chris.
More information about the net-dev
mailing list