[Pcsclite-cvs-commit] r3284 - /trunk/Drivers/ccid/src/ifdhandler.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Mon Jan 19 15:28:04 UTC 2009
Author: rousseau
Date: Mon Jan 19 15:28:04 2009
New Revision: 3284
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3284
Log:
ICCD devices do not use usb_interrupt_read() but sleep(). So there is no
problem killing the polling thread and sleep for 10 minutes instead of
just 5 seconds
Modified:
trunk/Drivers/ccid/src/ifdhandler.c
Modified: trunk/Drivers/ccid/src/ifdhandler.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ifdhandler.c?rev=3284&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ifdhandler.c (original)
+++ trunk/Drivers/ccid/src/ifdhandler.c Mon Jan 19 15:28:04 2009
@@ -299,7 +299,7 @@
* TAG_IFD_POLLING_THREAD_KILLABLE then we could use a much longer delay
* and be killed before pcscd exits
*/
- (void)sleep(5); /* 5 seconds */
+ (void)sleep(600); /* 10 minutes */
return IFD_SUCCESS;
}
#endif
@@ -433,6 +433,24 @@
*Length = sizeof(void *);
if (Value)
*(void **)Value = IFDHSleep;
+ }
+ }
+ break;
+
+ case TAG_IFD_POLLING_THREAD_KILLABLE:
+ {
+ _ccid_descriptor *ccid_desc;
+
+ /* default value: not supported */
+ *Length = 0;
+
+ ccid_desc = get_ccid_descriptor(reader_index);
+ if ((ICCD_A == ccid_desc->bInterfaceProtocol)
+ || (ICCD_B == ccid_desc->bInterfaceProtocol))
+ {
+ *Length = 1; /* 1 char */
+ if (Value)
+ *Value = 1; /* TRUE */
}
}
break;
More information about the Pcsclite-cvs-commit
mailing list