diff options
author | Tilman Keskinoz <arved@FreeBSD.org> | 2007-01-22 16:56:16 +0000 |
---|---|---|
committer | Tilman Keskinoz <arved@FreeBSD.org> | 2007-01-22 16:56:16 +0000 |
commit | 23f644637a3dc513f0836e08710ab68e056c9fbf (patch) | |
tree | f18b16f4364290eaca8aa549edc4c1045b92c1cf /devel/pcsc-lite/files | |
parent | 914f453b7561cfcada8638a3476b1d6f083a8828 (diff) |
Notes
Diffstat (limited to 'devel/pcsc-lite/files')
-rw-r--r-- | devel/pcsc-lite/files/patch-pcscdaemon.c | 17 | ||||
-rw-r--r-- | devel/pcsc-lite/files/patch-winscard_msg_srv.c | 33 | ||||
-rw-r--r-- | devel/pcsc-lite/files/pcscd.in | 20 | ||||
-rw-r--r-- | devel/pcsc-lite/files/pcscd.sh | 29 |
4 files changed, 70 insertions, 29 deletions
diff --git a/devel/pcsc-lite/files/patch-pcscdaemon.c b/devel/pcsc-lite/files/patch-pcscdaemon.c new file mode 100644 index 000000000000..83a76a03b7fa --- /dev/null +++ b/devel/pcsc-lite/files/patch-pcscdaemon.c @@ -0,0 +1,17 @@ +--- src/pcscdaemon.c.orig Mon Jan 22 16:31:21 2007 ++++ src/pcscdaemon.c Mon Jan 22 16:33:52 2007 +@@ -199,6 +199,14 @@ + switch (rsp = SHMProcessEventsServer(&dwClientID, 0)) + { + ++ case 2: ++ /* /* ++ * timeout in SHMProcessEventsServer(): do nothing ++ * this is used to catch the Ctrl-C signal at some time when ++ * nothing else happens ++ */ ++ break; ++ + case 0: + Log2(PCSC_LOG_DEBUG, "A new context thread creation is requested: %d", dwClientID); + rv = CreateContextThread(&dwClientID); diff --git a/devel/pcsc-lite/files/patch-winscard_msg_srv.c b/devel/pcsc-lite/files/patch-winscard_msg_srv.c new file mode 100644 index 000000000000..0a5c681cb6ca --- /dev/null +++ b/devel/pcsc-lite/files/patch-winscard_msg_srv.c @@ -0,0 +1,33 @@ +--- src/winscard_msg_srv.c.orig Mon Jan 22 16:26:53 2007 ++++ src/winscard_msg_srv.c Mon Jan 22 16:29:52 2007 +@@ -169,6 +169,10 @@ + { + fd_set read_fd; + int selret; ++ struct timeval tv; ++ ++ tv.tv_sec = 1; ++ tv.tv_usec = 0; + + FD_ZERO(&read_fd); + +@@ -178,7 +182,7 @@ + FD_SET(commonSocket, &read_fd); + + selret = select(commonSocket + 1, &read_fd, (fd_set *) NULL, +- (fd_set *) NULL, NULL); ++ (fd_set *) NULL, &tv); + + if (selret < 0) + { +@@ -189,6 +193,10 @@ + strerror(errno)); + return -1; + } ++ ++ if (selret == 0) ++ /* timeout */ ++ return 2; + + /* + * A common pipe packet has arrived - it could be a new application diff --git a/devel/pcsc-lite/files/pcscd.in b/devel/pcsc-lite/files/pcscd.in new file mode 100644 index 000000000000..f5ff87d3151e --- /dev/null +++ b/devel/pcsc-lite/files/pcscd.in @@ -0,0 +1,20 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: pcscd +# REQUIRE: LOGIN +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# pcscd_enable="YES" + +. %%RC_SUBR%% + +name="pcscd" +rcvar="pcscd_enable" + +command="%%PREFIX%%/sbin/pcscd" + +load_rc_config "$name" +run_rc_command "$1" diff --git a/devel/pcsc-lite/files/pcscd.sh b/devel/pcsc-lite/files/pcscd.sh deleted file mode 100644 index 716484f434c0..000000000000 --- a/devel/pcsc-lite/files/pcscd.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then - echo "$0: Cannot determine the PREFIX" >&2 - exit 1 -fi - -case "$1" in - - start) - if [ -x $PREFIX/sbin/pcscd ]; then - $PREFIX/sbin/pcscd -c $PREFIX/etc/reader.conf - echo -n ' pcscd' - fi - ;; - - stop) - /usr/bin/killall pcscd && echo -n ' pcscd' - ;; - - *) - echo "" - echo "Usage: `basename $0` { start | stop }" - echo "" - exit 64 - ;; -esac - |