|
|
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
r+ rrelyea On 03/22/2012 11:26 AM, Alon Levy wrote:
---
src/coolkey/slot.cpp | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/src/coolkey/slot.cpp b/src/coolkey/slot.cpp
index a5f550b..d0fa41d 100644
--- a/src/coolkey/slot.cpp
+++ b/src/coolkey/slot.cpp
@@ -1228,22 +1228,23 @@ SlotList::waitForSlotEvent(CK_FLAGS flag, CK_SLOT_ID_PTR slotp, CK_VOID_PTR res)
throw;
}
- if (myNumReaders != numReaders) {
+ if (myNumReaders != numReaders + 1) {
if (myReaderStates) {
delete [] myReaderStates;
}
- myReaderStates = new SCARD_READERSTATE [numReaders];
+ myReaderStates = new SCARD_READERSTATE [numReaders + 1];
+ myNumReaders = numReaders + 1;
}
- memcpy(myReaderStates, readerStates,
- sizeof(SCARD_READERSTATE)*numReaders);
- myNumReaders = numReaders;
+ memcpy(myReaderStates, readerStates,
+ sizeof(SCARD_READERSTATE) * numReaders);
+ myReaderStates[numReaders].szReader = "\\\\?PnP?\\Notification";
+ myReaderStates[numReaders].dwCurrentState = SCARD_STATE_UNAWARE;
readerListLock.releaseLock();
status = CKYCardContext_WaitForStatusChange(context,
myReaderStates, myNumReaders, timeout);
if (status == CKYSUCCESS) {
- for (i=0; i< myNumReaders; i++) {
- SCARD_READERSTATE *rsp =&myReaderStates[i];
- unsigned long eventState = CKYReader_GetEventState(rsp);
+ for (i=0; i< myNumReaders - 1; i++) {
+ unsigned long eventState = CKYReader_GetEventState(&myReaderStates[i]);
if (eventState& SCARD_STATE_CHANGED) {
readerListLock.getLock();
CKYReader_SetKnownState(&readerStates[i], eventState& ~SCARD_STATE_CHANGED);
@@ -1253,6 +1254,12 @@ SlotList::waitForSlotEvent(CK_FLAGS flag, CK_SLOT_ID_PTR slotp, CK_VOID_PTR res)
break;
}
}
+ /* No real need to check for an additional card, we already update the
+ * list when we iterate. */
+ if (CKYReader_GetEventState(&myReaderStates[myNumReaders - 1])
+& SCARD_STATE_CHANGED) {
+ log->log("Reader insertion/removal detected\n");
+ }
}
if (found || (flag == CKF_DONT_BLOCK) || shuttingDown) {
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Coolkey-devel mailing list Coolkey-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/coolkey-devel
[Home] [Fedora Legacy List] [Fedora Maintainers] [Fedora Desktop] [Red Hat 9 Bible] [Fedora Bible] [Fedora SELinux] [Big List of Linux Books] [Yosemite News] [Yosemite Photos] [KDE Users] [Fedora Tools]