slot->keyCount--;
PK11_USE_THREADS(PZ_Unlock(slot->freeListLock);) PR_AtomicDecrement(&slot->keyCount);
pk11_getKeyFromList(PK11SlotInfo *slot) {    PK11SymKey *symKey = NULL;    PK11_USE_THREADS(PZ_Lock(slot->freeListLock);)    if (slot->freeSymKeysHead) {    	symKey = slot->freeSymKeysHead;	slot->freeSymKeysHead = symKey->next;	slot->keyCount--;    }    PK11_USE_THREADS(PZ_Unlock(slot->freeListLock);)    if (symKey) {	symKey->next = NULL;	if ((symKey->series != slot->series) || (!symKey->sessionOwner))    	    symKey->session = pk11_GetNewSession(slot,&symKey->sessionOwner);	return symKey;    }    symKey = (PK11SymKey *)PORT_ZAlloc(sizeof(PK11SymKey));    if (symKey == NULL) {	return NULL;    }    symKey->refLock = PZ_NewLock(nssILockRefLock);    if (symKey->refLock == NULL) {	PORT_Free(symKey);	return NULL;    }    symKey->session = pk11_GetNewSession(slot,&symKey->sessionOwner);    symKey->next = NULL;    return symKey;}