Commit 1b902f7d authored by Alon Levy's avatar Alon Levy
Browse files

libcacard/vcard_emul_nss: don't stop thread when there are no slots



Signed-off-by: default avatarAlon Levy <alevy@redhat.com>
parent cb1977d3
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -682,8 +682,19 @@ vcard_emul_event_thread(void *arg)
    SECMODModule *module = (SECMODModule *)arg;

    do {
        /*
         * XXX - the latency value doesn't matter one bit. you only get no
         * blocking (flags |= CKF_DONT_BLOCK) or PKCS11_WAIT_LATENCY (==500),
         * hard coded in coolkey.  And it isn't coolkey's fault - the timeout
         * value we pass get's dropped on the floor before C_WaitForSlotEvent
         * is called.
         */
        slot = SECMOD_WaitForAnyTokenEvent(module, 0, 500);
        if (slot == NULL) {
            /* this could be just a no event indication */
            if (PORT_GetError() == SEC_ERROR_NO_EVENT) {
                continue;
            }
            break;
        }
        vreader = vcard_emul_find_vreader_from_slot(slot);