diff --git a/pcsc-lite-1.6.4-noautostart.patch b/pcsc-lite-1.6.4-noautostart.patch new file mode 100644 index 0000000..6e58f8d --- /dev/null +++ b/pcsc-lite-1.6.4-noautostart.patch @@ -0,0 +1,99 @@ +diff -up pcsc-lite-1.6.4/src/winscard_clnt.c.noautostart pcsc-lite-1.6.4/src/winscard_clnt.c +--- pcsc-lite-1.6.4/src/winscard_clnt.c.noautostart 2010-12-12 23:46:43.228293593 +0200 ++++ pcsc-lite-1.6.4/src/winscard_clnt.c 2010-12-12 23:52:44.388532774 +0200 +@@ -387,79 +387,15 @@ LONG SCardEstablishContext(DWORD dwScope + LPCVOID pvReserved2, LPSCARDCONTEXT phContext) + { + LONG rv; +- int daemon_launched = FALSE; +- int retries = 0; + + PROFILE_START + +-again: + /* Check if the server is running */ + rv = SCardCheckDaemonAvailability(); + if (SCARD_E_INVALID_HANDLE == rv) + /* we reconnected to a daemon or we got called from a forked child */ + rv = SCardCheckDaemonAvailability(); + +- if (SCARD_E_NO_SERVICE == rv) +- { +-launch: +- if (daemon_launched) +- { +- retries++; +- if (retries < 50) /* 50 x 100ms = 5 seconds */ +- { +- /* give some more time to the server to start */ +- SYS_USleep(100*1000); /* 100 ms */ +- goto again; +- } +- +- /* the server failed to start (in time) */ +- goto end; +- } +- else +- { +- int pid; +- +- pid = fork(); +- +- if (pid < 0) +- { +- Log2(PCSC_LOG_CRITICAL, "fork failed: %s", strerror(errno)); +- rv = SCARD_F_INTERNAL_ERROR; +- goto end; +- } +- +- if (0 == pid) +- { +- int ret, i, max; +- char *param = getenv("PCSCLITE_PCSCD_ARGS"); +- +- /* close all file handles except stdin, stdout and +- * stderr so that pcscd does not confiscate ressources +- * allocated by the application */ +- max = sysconf(_SC_OPEN_MAX); +- if (-1 == max) +- max = 1024; +- for (i=3; i - 1.6.4-2 +- Disabled pcscd on-demand startup (#653903) + * Sun Aug 15 2010 Kalev Lember - 1.6.4-1 - Update to 1.6.4 - Buildrequire graphviz for apidoc generation