scd: Fix resetting and closing of the reader. (Backported by gniibe)
authorWerner Koch <wk@gnupg.org>
Wed, 14 Dec 2011 09:30:01 +0000 (10:30 +0100)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 25 Jun 2012 01:04:22 +0000 (10:04 +0900)
commit5c1eb6dba87281a7f8a09ef04cc8ea876094e9da
treed3d050720ec4cc81f38dd28ee0e4124514f7969d
parent2d052240fb521ed92b6a2526dd5627621800d194
scd: Fix resetting and closing of the reader.  (Backported by gniibe)

* 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