<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2016-09-23 11:03 GMT+02:00 Abraham Macias Paredes <span dir="ltr"><<a href="mailto:amacias@solutia-it.es" target="_blank">amacias@solutia-it.es</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="#0563C1" vlink="#954F72" lang="ES"><div><p class="MsoNormal">Hi PCSC lite Project people,</p></div></div></blockquote><div><br></div><div>Hello,<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="#0563C1" vlink="#954F72" lang="ES"><div><p class="MsoNormal"><u></u><u></u></p><p class="MsoNormal"> I’m developing a software that must work in Windows and Linux. And I found a difference between Windows PCSC API and “pcsc-lite” that may be a bug.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">The software has several threads. In a thread a “SCardGetStatusChange” is performed and it locks until there is a change in the status.<u></u><u></u></p><p class="MsoNormal">When another thread performs a “SCardConnect”, in Windows the “SCardGetStatusChange” call returns with the “SCARD_STATE_INUSE” flag activated. But in Linux the thread continues locked at “SCardGetStatusChange”. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><b><u>Windows trace:<u></u><u></u></u></b></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span style="color:#548235">Thread 1: SmartCard SCardGetStatusChange(context: CD00000100000000, timeout: ffffffff)<u></u><u></u></span></p><p class="MsoNormal"><span style="color:#548235">Thread 1: atr = 3b 7f ffffff96 0 0 0 6a 46 4e 4d 54 3 4 11 43 4 30 3 ffffff90 0 <u></u><u></u></span></p><p class="MsoNormal"><span style="color:#548235">Thread 1: [0] Dell Smart Card Reader Keyboard 0<u></u><u></u></span></p><p class="MsoNormal"><span style="color:#548235">Thread 1: user: null, state: 0xb0420, event: 0xb0422<u></u><u></u></span></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"><span style="color:#203864">Thread 2: SmartCard SCardConnect(context: CD00000100000001, share: 2, proto: 3, reader: 'Dell Smart Card Reader Keyboard 0')<u></u><u></u></span></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"><span style="color:#548235">Thread 1: -> [0] Dell Smart Card Reader Keyboard 0<u></u><u></u></span></p><p class="MsoNormal"><span style="color:#548235">Thread 1: -> user: null, state: 0xb0420, event: 0xb0122<u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span style="color:#203864">Thread 2: SmartCard Connect successful: 1 hCard: EA00000100000000<u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><b><u>Linux trace:<u></u><u></u></u></b></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span style="color:#548235">Thread 1: SmartCard SCardGetStatusChange(context: CD00000100000000, timeout: ffffffff)<u></u><u></u></span></p><p class="MsoNormal"><span style="color:#548235">Thread 1: atr = 3b 7f ffffff96 0 0 0 6a 46 4e 4d 54 3 4 11 43 4 30 3 ffffff90 0 <u></u><u></u></span></p><p class="MsoNormal"><span style="color:#548235">Thread 1: [0] Dell Smart Card Reader Keyboard 0<u></u><u></u></span></p><p class="MsoNormal"><span style="color:#548235">Thread 1: user: null, state: 0x20, event: 0x22<u></u><u></u></span></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"><span style="color:#2f5597">Thread 2: SmartCard SCardConnect(context: CD00000100000001, share: 2, proto: 3, reader: 'Dell Smart Card Reader Keyboard 0')<u></u><u></u></span></p><p class="MsoNormal"><span style="color:#2f5597">Thread 2: SmartCard Connect successful: 1 hCard: EA00000100000000<u></u><u></u></span></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">If I use another thread to perform another “SCardGetStatusChange”, the status shows the “SCARD_STATE_INUSE” flag activated, but the first thread is still locked.</p></div></div></blockquote><div><br></div><div>Can you share your sample code with us?<br><br></div><div>Thanks<br clear="all"></div></div><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"> Dr. Ludovic Rousseau</div>
</div></div>