From c3647bf3a612c652ef0001d1bab744b0f296efe2 Mon Sep 17 00:00:00 2001 From: Bill Pittore Date: Mon, 25 Mar 2013 14:29:13 +0000 Subject: [PATCH] 8010668: builtin JNI libraries should not be unloaded Reviewed-by: chegar, alanb --- jdk/src/share/native/java/lang/ClassLoader.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/jdk/src/share/native/java/lang/ClassLoader.c b/jdk/src/share/native/java/lang/ClassLoader.c index 47c41b2bd84..776b2dd24e7 100644 --- a/jdk/src/share/native/java/lang/ClassLoader.c +++ b/jdk/src/share/native/java/lang/ClassLoader.c @@ -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); }