if (owner && parent) { pk11_CloseSession(symKey->slot, symKey->session,symKey->sessionOwner); symKey->sessionOwner = parent->sessionOwner; symKey->session = parent->session; parent->sessionOwner = PR_FALSE; }
PK11_SymKeyFromHandle(PK11SlotInfo *slot, PK11SymKey *parent, PK11Origin origin,    CK_MECHANISM_TYPE type, CK_OBJECT_HANDLE keyID, PRBool owner, void *wincx){    PK11SymKey *symKey;    if (keyID == CK_INVALID_HANDLE) {	return NULL;    }    symKey = PK11_CreateSymKey(slot,type,wincx);    if (symKey == NULL) {	return NULL;    }    symKey->objectID = keyID;    symKey->origin = origin;    symKey->owner = owner;    return symKey;}