int getValidatedToken(struct p11Slot_t *slot, struct p11Token_t **token) { int rc; struct p11Slot_t *pslot; FUNC_CALLED(); // Checking for new or removed token is always performed on the // primary slot pslot = slot; if (pslot->primarySlot) pslot = pslot->primarySlot; p11LockMutex(context->mutex); #ifdef CTAPI rc = getCTAPIToken(pslot, token); #else rc = getPCSCToken(pslot, token); #endif p11UnlockMutex(context->mutex); if (rc != CKR_OK) return rc; return getToken(slot, token); }
void starcosLock(struct p11Token_t *token) { p11LockMutex(token->mutex); }