[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