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

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Tue Nov 24 16:09:17 UTC 2009


Author: rousseau
Date: Tue Nov 24 16:09:17 2009
New Revision: 4569

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4569
Log:
create a SCardInvalidateHandles() function from
SCardCheckDaemonAvailability() code

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=4569&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Tue Nov 24 16:09:17 2009
@@ -3596,6 +3596,31 @@
 	return -1;
 }
 
+static LONG SCardInvalidateHandles(void)
+{
+	/* invalid all handles */
+	(void)SCardLockThread();
+
+	while (list_size(&contextMapList) != 0)
+	{
+		SCONTEXTMAP * currentContextMap;
+
+		currentContextMap = list_get_at(&contextMapList, 0);
+		if (currentContextMap != NULL)
+			(void)SCardCleanContext(currentContextMap);
+		else
+			Log1(PCSC_LOG_CRITICAL, "list_get_at returned NULL");
+	}
+
+	(void)SCardUnlockThread();
+
+	/* reset pcscd status */
+	daemon_ctime = 0;
+	client_pid = 0;
+
+	return SCARD_E_INVALID_HANDLE;
+}
+
 /**
  * @brief Checks if the server is running.
  *
@@ -3643,29 +3668,7 @@
 	}
 
 	if (need_restart)
-	{
-		/* invalid all handles */
-		(void)SCardLockThread();
-
-		while (list_size(&contextMapList) != 0)
-		{
-			SCONTEXTMAP * currentContextMap;
-
-			currentContextMap = list_get_at(&contextMapList, 0);
-			if (currentContextMap != NULL)
-				(void)SCardCleanContext(currentContextMap);
-			else
-				Log1(PCSC_LOG_CRITICAL, "list_get_at returned NULL");
-		}
-
-		(void)SCardUnlockThread();
-
-		/* reset pcscd status */
-		daemon_ctime = 0;
-		client_pid = 0;
-
-		return SCARD_E_INVALID_HANDLE;
-	}
+		return SCardInvalidateHandles();
 
 	daemon_ctime = statBuffer.st_ctime;
 	daemon_pid = GetDaemonPid();




More information about the Pcsclite-cvs-commit mailing list