예제 #1
0
파일: p11_md.c 프로젝트: AllenWeb/openjdk-1
/*
 * 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");

}
예제 #2
0
/*
 * 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 ");
}