comparison src/share/vm/classfile/classLoader.cpp @ 6966:6cb0d32b828b

8001185: parsing of sun.boot.library.path in os::dll_build_name somewhat broken Summary: dll_dir can contain multiple paths, need to parse them correctly when loading agents Reviewed-by: dholmes, dlong Contributed-by: bill.pittore@oracle.com
author bpittore
date Wed, 07 Nov 2012 17:53:02 -0500
parents da91efe96a93
children 2cb439954abf 90273fc0a981
comparison
equal deleted inserted replaced
6932:857f3ce858dd 6966:6cb0d32b828b
603 // First make sure native library is loaded 603 // First make sure native library is loaded
604 os::native_java_library(); 604 os::native_java_library();
605 // Load zip library 605 // Load zip library
606 char path[JVM_MAXPATHLEN]; 606 char path[JVM_MAXPATHLEN];
607 char ebuf[1024]; 607 char ebuf[1024];
608 os::dll_build_name(path, sizeof(path), Arguments::get_dll_dir(), "zip"); 608 void* handle = NULL;
609 void* handle = os::dll_load(path, ebuf, sizeof ebuf); 609 if (os::dll_build_name(path, sizeof(path), Arguments::get_dll_dir(), "zip")) {
610 handle = os::dll_load(path, ebuf, sizeof ebuf);
611 }
610 if (handle == NULL) { 612 if (handle == NULL) {
611 vm_exit_during_initialization("Unable to load ZIP library", path); 613 vm_exit_during_initialization("Unable to load ZIP library", path);
612 } 614 }
613 // Lookup zip entry points 615 // Lookup zip entry points
614 ZipOpen = CAST_TO_FN_PTR(ZipOpen_t, os::dll_lookup(handle, "ZIP_Open")); 616 ZipOpen = CAST_TO_FN_PTR(ZipOpen_t, os::dll_lookup(handle, "ZIP_Open"));