8010668: builtin JNI libraries should not be unloaded

Reviewed-by: chegar, alanb
This commit is contained in:
Bill Pittore 2013-03-25 14:29:13 +00:00 committed by Chris Hegarty
parent 61c8affcc1
commit c3647bf3a6

View File

@ -398,7 +398,9 @@ Java_java_lang_ClassLoader_00024NativeLibrary_load
if (cause) {
(*env)->ExceptionClear(env);
(*env)->Throw(env, cause);
JVM_UnloadLibrary(handle);
if (!isBuiltin) {
JVM_UnloadLibrary(handle);
}
goto done;
}
@ -409,7 +411,9 @@ Java_java_lang_ClassLoader_00024NativeLibrary_load
"unsupported JNI version 0x%08X required by %s",
jniVersion, cname);
JNU_ThrowByName(env, "java/lang/UnsatisfiedLinkError", msg);
JVM_UnloadLibrary(handle);
if (!isBuiltin) {
JVM_UnloadLibrary(handle);
}
goto done;
}
(*env)->SetIntField(env, this, jniVersionID, jniVersion);
@ -458,7 +462,9 @@ Java_java_lang_ClassLoader_00024NativeLibrary_unload
(*env)->GetJavaVM(env, &jvm);
(*JNI_OnUnload)(jvm, NULL);
}
JVM_UnloadLibrary(handle);
if (!isBuiltin) {
JVM_UnloadLibrary(handle);
}
JNU_ReleaseStringPlatformChars(env, name, cname);
}