/* Called by the JVM before the APR_JAVA is unloaded */ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) { JNIEnv *env; UNREFERENCED(reserved); if ((*vm)->GetEnv(vm, (void **)&env, JNI_VERSION_1_2)) { return; } if (tcn_global_pool) { TCN_UNLOAD_CLASS(env, jString_class); TCN_UNLOAD_CLASS(env, jFinfo_class); TCN_UNLOAD_CLASS(env, jAinfo_class); apr_terminate(); } }
/* Called by the JVM before the APR_JAVA is unloaded */ JNIEXPORT void JNICALL JNI_OnUnload_netty_tcnative(JavaVM *vm, void *reserved) { JNIEnv *env; UNREFERENCED(reserved); if ((*vm)->GetEnv(vm, (void **)&env, TCN_JNI_VERSION)) { return; } if (tcn_global_pool) { TCN_UNLOAD_CLASS(env, jString_class); apr_terminate(); } TCN_UNLOAD_CLASS(env, byteArrayClass); TCN_UNLOAD_CLASS(env, keyMaterialClass); }
/* Called by the JVM before the APR_JAVA is unloaded */ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) { JNIEnv *env; void *ppe; if ((*vm)->GetEnv(vm, &ppe, JNI_VERSION_1_2)) { return; } if (jString_class) { env = (JNIEnv *)ppe; TCN_UNLOAD_CLASS(env, jString_class); } }