if (pInitArgs == NULL) {
if (pInitArgs == NULL || crv == CKR_NETSCAPE_CERTDB_FAILED || crv == CKR_NETSCAPE_KEYDB_FAILED) {
secmod_ModuleInit(SECMODModule *mod){    CK_C_INITIALIZE_ARGS moduleArgs;    CK_VOID_PTR pInitArgs;    CK_RV crv;    if (mod->isThreadSafe == PR_FALSE) {	pInitArgs = NULL;    } else if (mod->libraryParams == NULL) {	pInitArgs = (void *) &secmodLockFunctions;    } else {	moduleArgs = secmodLockFunctions;	moduleArgs.LibraryParameters = (void *) mod->libraryParams;	pInitArgs = &moduleArgs;    }    crv = PK11_GETTAB(mod)->C_Initialize(pInitArgs);    if (crv != CKR_OK) {	if (pInitArgs == NULL) {	    PORT_SetError(PK11_MapError(crv));	    return SECFailure;	}	mod->isThreadSafe = PR_FALSE;    	crv = PK11_GETTAB(mod)->C_Initialize(NULL);    	if (crv != CKR_OK)  {	    PORT_SetError(PK11_MapError(crv));	    return SECFailure;	}    }    return SECSuccess;}