2010/6/29 Reinhard Steiner <[email protected]>:
> Hello,

Hi,

> It seems that there is an issue in pcsc-lite when using transactions in
> multiple threads. It is possible to destroy a transaction of another card
> handle.
> This was tested with pcsc-lite 1.5.3 and 1.6.1.
>
> See the following pseudo calls (connect to the same smart card):
>
> Thread1:
>  - SCardEstablishContext (ctx1)
>  - SCardConnect (hcard1)
>
> Thread2:
>  - SCardEstablishContext (ctx2)
>  - SCardConnect (hcard2)
>  - SCardBeginTransaction (hcard2)
>
> Thread1:
>  - SCardDisconnect (hcard1, SCARD_LEAVE_CARD) -> returns
> SCARD_E_SHARING_VIOLATION (this is the first error, there should be no
> sharing violation when using SCARD_LEAVE_CARD. This works fine on the
> Windows PCSC)
>  - SCardReleaseContext (ctx1) -> Releases the context. This context owns the
> card handle hcard1 which could not be disconnected due to the sharing
> violation. But during cleanup of this handle, it destroys the transaction of
> hcard2.
>
> Thread2:
>  - SCardTransmit (hcard2) -> SCARD_E_SHARING_VIOLATION -> expected would be
> that this call works

These problems should be fixed in revisions 5572 and 5574.
Can you use the pcsc-lite snapshot available at [1] and confirm the
problems you had are now solved?

And sorry for the delay. 8 months to fix a bug is not nice.

Bye

[1] http://ludovic.rousseau.free.fr/softwares/pcsc-lite/

-- 
 Dr. Ludovic Rousseau

_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to