[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