scd: Fix resetting and closing of the reader.
authorWerner Koch <wk@gnupg.org>
Wed, 14 Dec 2011 09:30:01 +0000 (10:30 +0100)
committerWerner Koch <wk@gnupg.org>
Wed, 14 Dec 2011 09:30:31 +0000 (10:30 +0100)
commit2d91febbd8d30beb7eb33f7aa80ffd5691d1d3cc
tree6067bc98a1271e4ce7c45f61ef0283949b77765f
parent07ea8c56b507b06d4bd70e94fa51914659afac4b
scd: Fix resetting and closing of the reader.

* scd/command.c (update_card_removed): Do no act on an invalid VRDR.
(do_reset): Ignore apdu_reset error codes for no and inactive card.
Close the reader before setting the slot to -1.
(update_reader_status_file): Notify the application before closing the
reader.
--

With this change the scd now works as it did in the past.  In
particular there is no more endless loop trying to open the reader by
the update_reader_status_file ticker function.  That bug basically
blocked all card operations until the scdaemon was killed.
scd/command.c