/* * Class: sun_security_pkcs11_wrapper_PKCS11 * Method: disconnect * Signature: ()V */ JNIEXPORT void JNICALL Java_sun_security_pkcs11_wrapper_PKCS11_disconnect (JNIEnv *env, jobject obj) { ModuleData *moduleData; TRACE0("DEBUG: disconnecting module..."); moduleData = removeModuleEntry(env, obj); if (moduleData != NULL) { dlclose(moduleData->hModule); } free(moduleData); TRACE0("FINISHED\n"); }
/* * Class: iaik_pkcs_pkcs11_wrapper_PKCS11Implementation * Method: disconnect * Signature: ()V */ JNIEXPORT void JNICALL Java_iaik_pkcs_pkcs11_wrapper_PKCS11Implementation_disconnect (JNIEnv *env, jobject obj) { ModuleData *moduleData; TRACE0(tag_call, __FUNCTION__, "entering"); TRACE0(tag_debug, __FUNCTION__, "disconnecting module..."); moduleData = removeModuleEntry(env, obj); if (moduleData != NULL) { FreeLibrary(moduleData->hModule); } free(moduleData); TRACE0(tag_call, __FUNCTION__, "exiting "); }