--- old/src/share/native/java/lang/ClassLoader.c 2013-03-22 15:44:12.798414632 -0400 +++ new/src/share/native/java/lang/ClassLoader.c 2013-03-22 15:44:11.622347493 -0400 @@ -398,7 +398,9 @@ if (cause) { (*env)->ExceptionClear(env); (*env)->Throw(env, cause); - JVM_UnloadLibrary(handle); + if (!isBuiltin) { + JVM_UnloadLibrary(handle); + } goto done; } @@ -409,7 +411,9 @@ "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 @@ (*env)->GetJavaVM(env, &jvm); (*JNI_OnUnload)(jvm, NULL); } - JVM_UnloadLibrary(handle); + if (!isBuiltin) { + JVM_UnloadLibrary(handle); + } JNU_ReleaseStringPlatformChars(env, name, cname); }