[Pcsclite-cvs-commit] r2457 - trunk/PCSC/src
Ludovic Rousseau
rousseau at alioth.debian.org
Mon Mar 5 15:37:05 CET 2007
Author: rousseau
Date: 2007-03-05 14:37:05 +0000 (Mon, 05 Mar 2007)
New Revision: 2457
Modified:
trunk/PCSC/src/winscard_clnt.c
Log:
SCardCheckDaemonAvailability(): detects if pcscd has been restarted and
returns SCARD_E_NO_SERVICE in that case
Modified: trunk/PCSC/src/winscard_clnt.c
===================================================================
--- trunk/PCSC/src/winscard_clnt.c 2007-03-05 14:18:22 UTC (rev 2456)
+++ trunk/PCSC/src/winscard_clnt.c 2007-03-05 14:37:05 UTC (rev 2457)
@@ -3326,6 +3326,7 @@
{
LONG rv;
struct stat statBuffer;
+ static time_t daemon_ctime = 0;
rv = SYS_Stat(PCSCLITE_PUBSHM_FILE, &statBuffer);
@@ -3334,6 +3335,16 @@
Log1(PCSC_LOG_ERROR, "PCSC Not Running");
return SCARD_E_NO_SERVICE;
}
+ if (daemon_ctime)
+ {
+ if (statBuffer.st_ctime > daemon_ctime)
+ {
+ Log1(PCSC_LOG_ERROR, "PCSC restarted");
+ return SCARD_E_NO_SERVICE;
+ }
+ }
+ else
+ daemon_ctime = statBuffer.st_ctime;
return SCARD_S_SUCCESS;
}
More information about the Pcsclite-cvs-commit
mailing list