Le 18/07/2011 14:52, Ludovic Rousseau a écrit :
> 2011/7/10 Viktor Tarasov<viktor.tara...@gmail.com>:
>> Hi,
> Hello,
>
>> there is patch proposal to treat properly the 'detach token(reader)' event
>> and to remove the slots associated to the removed token.
>>
>> Tested in Linux and windows.
>> 'SCardGetStatusChange' have different behavior in Linux and Windows.
>> Needs to be studied and validated for Mac.
>>
>> https://github.com/viktorTarasov/OpenSC/commit/62bda63bd66c4849c0ca4303a9682fb6f6bacd7d
>   /* When token is hot-unplugged:
>    * - in Linux (pcsc-lite)
>    * -- SCardGetStatusChange returns OK;
>    * -- current reader state is 'UNKNOWN';
>    * -- 'Refresh-attributes' returns 'SC_ERROR_READER_DETACHED'.
>    *
>    * - in Windows (WinSCard):
>    * -- SCardGetStatusChange failes with SCARD_E_NO_READERS_AVAILABLE;
>    * -- 'Refresh-attributes' returns 'SC_ERROR_NO_READERS_FOUND'.
>    *
>    * - FIXME: Mac?
>    */
>
> I just checked on Mac OS X 10.6.8 (Snow Leopard) and I have nearly the
> same result as on GNU/Linux.
> On GNU/Linux : new state is 14 =>  ['Changed', 'Unknown', 'Unavailable']
> On Mac OS X : new state is 6 =>  ['Changed', 'Unknown]
>
> On Windows, do you also get the error SCARD_E_NO_READERS_AVAILABLE
> when you use TWO readers in the SCardGetStatusChange() call?

I do not completely follow.

SCardGetStatusChange is called by refresh_attributes(sc_reader_t *reader).
In this context there is only one reader.

When this reader is unplugged in Windows the SCardGetStatusChange returns 
8010002E -- SCARD_E_NO_READERS_AVAILABLE.
In Linux SCardGetStatusChange returns OK and properly sets a new reader status.
Imho both have a reason.

Finally it's not so important -- both situations are checked and, according to 
the results of your tests, nothing special has to be done for Mac.


> That
> would be very strange for me since at least 1 reader is still
> available.
>
> My sample program is available at [1] if you want to test it on Windows.
>
> Bye

Kind regards,
Viktor.

> [1] 
> http://anonscm.debian.org/viewvc/pcsclite/trunk/PCSC/UnitaryTests/SCardGetStatusChange.py?view=markup
>

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to