[Pcsclite-cvs-commit] r2913 - /trunk/PCSC/src/winscard_clnt.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Fri Apr 25 14:04:45 UTC 2008


Author: rousseau
Date: Fri Apr 25 14:04:44 2008
New Revision: 2913

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=2913
Log:
SCardEstablishContext(): correcly handle a call from a forked child (do
not fail)

Thanks to Alon Bar-Lev for bug report

Modified:
    trunk/PCSC/src/winscard_clnt.c

Modified: trunk/PCSC/src/winscard_clnt.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_clnt.c?rev=2913&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Fri Apr 25 14:04:44 2008
@@ -307,8 +307,13 @@
 	PROFILE_START
 
 	/* Check if the server is running */
-	if (SCardCheckDaemonAvailability() != SCARD_S_SUCCESS)
-		return SCARD_E_NO_SERVICE;
+	rv = SCardCheckDaemonAvailability();
+	if (SCARD_E_INVALID_HANDLE == rv)
+		/* we got called from a forked child */
+		rv = SCardCheckDaemonAvailability();
+
+	if (rv != SCARD_S_SUCCESS)
+		return rv;
 
 	SCardLockThread();
 	rv = SCardEstablishContextTH(dwScope, pvReserved1,




More information about the Pcsclite-cvs-commit mailing list