pcscdeamon.c sets up a signal handler for SIGUSR1 to call signal_reload.
But on Solaris (at least and it looks like HP too) the man pages say:
If signal()is used, disp is the address of a signal handler, and sig is
not SIGILL, SIGTRAP, or SIGPWR, the system first sets the
signal's disposition to SIG_DFL before executing the signal
handler.
Thus the first use of pcscd -H works, but the second time causes the deamon
to not cache the signal and end.
This looks like this has been in previous versions as well.
The patch has the signal handler reenable the signal.
Use of sigaction might be a better solution.
Ludovic Rousseau wrote:
Hello,
A new version of pcsc-lite 1.5.5 is available at [1].
This version fixes bugs. No new feature added.
Changelog:
pcsc-lite-1.5.5: Ludovic Rousseau
28 July 2009
- add the reader interface name if provided by the device
- SCardTransmit(): return SCARD_E_UNSUPPORTED_FEATURE if
SCARD_PROTOCOL_RAW is requested by unsupported
- SCardConnect() and SCardReconnect(): set dwActiveProtocol to
SCARD_PROTOCOL_UNDEFINED if SCARD_SHARE_DIRECT is used (conform to
MSDN). Contrary to Windows winscard behavior, the reader is accessed in
shared mode and not exclusive mode if SCARD_SHARE_DIRECT is used.
- SCardControl(): correctly check for buffer overflow (bug introduced in
pcsc-lite 1.5.4)
- some other minor improvements and bug corrections
[1] https://alioth.debian.org/frs/?group_id=30105&release_id=1378
--
Douglas E. Engert <[email protected]>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444
--- ./src/,pcscdaemon.c Sat Jul 4 03:10:31 2009
+++ ./src/pcscdaemon.c Mon Aug 31 16:18:18 2009
@@ -576,6 +576,8 @@
return;
HPReCheckSerialReaders();
+
+ (void)signal(SIGUSR1, signal_reload);
} /* signal_reload */
static void signal_trap(/*...@unused@*/ int sig)
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle