[Pcsclite-cvs-commit] r5130 - /trunk/PCSC/UnitaryTests/SCard_fork.py

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Fri Aug 13 13:19:58 UTC 2010


Author: rousseau
Date: Fri Aug 13 13:19:52 2010
New Revision: 5130

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5130
Log:
Also call SCardDisconnect() and SCardReleaseContext() in the forked
process

Modified:
    trunk/PCSC/UnitaryTests/SCard_fork.py

Modified: trunk/PCSC/UnitaryTests/SCard_fork.py
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/UnitaryTests/SCard_fork.py?rev=5130&op=diff
==============================================================================
--- trunk/PCSC/UnitaryTests/SCard_fork.py (original)
+++ trunk/PCSC/UnitaryTests/SCard_fork.py Fri Aug 13 13:19:52 2010
@@ -28,6 +28,19 @@
 if hresult != SCARD_S_SUCCESS:
     raise EstablishContextException(hresult)
 
+hresult, readers = SCardListReaders(hcontext, [])
+if hresult != SCARD_S_SUCCESS:
+    raise ListReadersException(hresult)
+print 'PC/SC Readers:', readers
+
+reader = readers[0]
+print "Using reader:", reader
+
+hresult, hcard, dwActiveProtocol = SCardConnect(hcontext, reader,
+    SCARD_SHARE_SHARED, SCARD_PROTOCOL_ANY)
+if hresult != SCARD_S_SUCCESS:
+    raise BaseSCardException(hresult)
+
 pid = os.fork()
 if pid == 0:
     # son
@@ -42,12 +55,26 @@
         raise ListReadersException(hresult)
     else:
         print "test failed"
+
+    hresult = SCardDisconnect(hcard, SCARD_LEAVE_CARD)
+    if hresult != SCARD_S_SUCCESS:
+        raise BaseSCardException(hresult)
+
+    hresult = SCardReleaseContext(hcontext)
+    print "SCardReleaseContext()", SCardGetErrorMessage(hresult)
+    if hresult != SCARD_S_SUCCESS:
+        raise ReleaseContextException(hresult)
+
 else:
     # father
 
     # give some time to the son
     time.sleep(1)
 
+    hresult = SCardDisconnect(hcard, SCARD_LEAVE_CARD)
+    if hresult != SCARD_S_SUCCESS:
+        raise BaseSCardException(hresult)
+
     hresult = SCardReleaseContext(hcontext)
     print "SCardReleaseContext()", SCardGetErrorMessage(hresult)
     if hresult != SCARD_S_SUCCESS:




More information about the Pcsclite-cvs-commit mailing list