Difference from Windows' implementation with regard to PC/SC shared mode

Maksim Ivanov <[email protected]> Mon, 17 Oct 2016 19:26:07 +0200
Newsgroups gmane.comp.lib.muscle
Message-ID <CAH=wB8w7nQ4GnvLAec1XC-HPsKqb1mHRPtLqLMVoxd2bJFFv5Q@mail.gmail.com>
Hello,

It seems that there's a difference between the PC/SC-Lite behavior and
the behavior of the Windows' implementation in the following scenario:

1. One thread obtains an hCard with SCARD_SHARE_SHARED.

2. This thread calls then SCardBeginTransaction with this hCard.

3. Another thread in the same application tries to obtain a new hCard
to the same card with SCARD_SHARE_SHARED.

Under Windows step #3 finishes successfully.
PC/SC-Lite, however, seems to block all new connections to the card
(even in the shared mode) until the previously started transaction
finishes.

Not sure whether this can be considered as a bug. It seems that there
are no guarantees about this use case in the PC/SC specification.

But even if this is not considered as a bug by the maintainers, it
would be good to cover this detail in the corresponding "Known
differences" list:
http://pcsclite.alioth.debian.org/api/group__API.html#differences


Regards,
Maksim