[Pcsclite-cvs-commit] r4281 - /trunk/Drivers/ccid/src/ccid.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Fri Jun 26 15:00:43 UTC 2009


Author: rousseau
Date: Fri Jun 26 15:00:42 2009
New Revision: 4281

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4281
Log:
ccid_open_hack_pre(): do not call InterruptRead() with a KOBIL_TRIBANK
The call do not timeout and blocs until a card is inserted (on Mac OS X)

Modified:
    trunk/Drivers/ccid/src/ccid.c

Modified: trunk/Drivers/ccid/src/ccid.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid.c?rev=4281&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid.c (original)
+++ trunk/Drivers/ccid/src/ccid.c Fri Jun 26 15:00:42 2009
@@ -43,6 +43,7 @@
 int ccid_open_hack_pre(unsigned int reader_index)
 {
 	_ccid_descriptor *ccid_descriptor = get_ccid_descriptor(reader_index);
+	int doInterruptRead = 1;
 
 	switch (ccid_descriptor->readerID)
 	{
@@ -61,10 +62,15 @@
 			(void)sleep(1);
 			ccid_descriptor->readTimeout = 60; /* 60 seconds */
 			break;
+
+		case KOBIL_TRIBANK:
+			/* the InterruptRead does not timeout (on Mac OS X) */
+			doInterruptRead = 0;
+			break;
 	}
 
 	/* CCID */
-	if (0 == ccid_descriptor->bInterfaceProtocol)
+	if (doInterruptRead && (0 == ccid_descriptor->bInterfaceProtocol))
 	{
 #ifndef TWIN_SERIAL
 		(void)InterruptRead(reader_index);




More information about the Pcsclite-cvs-commit mailing list