Mercurial > hg > graal-compiler
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")); |