Code Review 7030256: Cleanup/Remove code supporting old Windows versions (98, NT, 2000, etc)

Alan Bateman Alan.Bateman at oracle.com
Thu Mar 24 08:50:49 PDT 2011


Chris Hegarty wrote:
> :
>
> You are right, before these changes iphlpapi.dll is not loaded unless 
> NetworkInterface or ResolverConfigurationImpl are called. After these 
> changes iphlpapi.dll is loaded once net.dll is loaded.
>
> I think we should use specify the loading of these dll's to be 
> delayed. I can confirm that with the below changes iphlpapi.dll is 
> only loaded when necessary.
>
> diff -r ef5bbbe0dd75 make/java/net/Makefile
> --- a/make/java/net/Makefile    Mon Mar 21 22:02:00 2011 -0700
> +++ b/make/java/net/Makefile    Thu Mar 24 15:27:38 2011 +0000
> @@ -37,10 +37,6 @@ AUTO_FILES_JAVA_DIRS = java/net
>  AUTO_FILES_JAVA_DIRS = java/net
>
>  ifeq ($(PLATFORM), windows)
> -    # Windows 9x module only needed on 32-bit build
> -    ifeq ($(ARCH_DATA_MODEL), 32)
> -    FILES_c += NetworkInterface_win9x.c
> -    endif
>      FILES_c += NTLMAuthSequence.c
>      FILES_c += NetworkInterface_winXP.c
>  else
> @@ -96,7 +92,9 @@ include $(BUILDDIR)/common/Library.gmk
>  include $(BUILDDIR)/common/Library.gmk
>
>  ifeq ($(PLATFORM), windows)
> -  OTHER_LDLIBS = ws2_32.lib $(JVMLIB)
> +  OTHER_LDLIBS = ws2_32.lib $(JVMLIB) \
> +                 secur32.lib iphlpapi.lib delayimp.lib \
> +                 /DELAYLOAD:secur32.dll /DELAYLOAD:iphlpapi.dll
>  else
>    OTHER_LDLIBS = $(LIBSOCKET) $(LIBNSL) -ldl $(JVMLIB)
>
Thanks for doing this, this seems a good candidate for a delayed load. 
Thumbs up from me.

-Alan



More information about the net-dev mailing list