On 07/03/13 22:02, Michael StJohns wrote:
> At 03:45 PM 7/3/2013, Ludovic Rousseau wrote:
>> 2013/7/3 MURILO COSTA <[email protected]>:
>>> I thought that maybe can be a Java problem, do you know some software to do 
>>> this kind of test (parallelism) ? I'll check if pcsc-tools can do that...
>> I guess it is a javax.smartcardio "limitation".
>>
>> You need to create one context per reader using SCardEstablishContext.
>> I bet the Java wrapper creates only one context for all the readers.
>> In pcsc-lite the context is associated to a mutex. So all your
>> commands will block on the same mutex even if they use different
>> readers.
>> I don't know if is it easy or even possible to avoid this Java wrapper
>> "feature".
>
> Probably not - here's the source code from the default provider 
> implementation for JDK7.  It even comments that it uses the same context id 
> for each of these:
>
>
>
>
> final class PCSCTerminals extends CardTerminals {
>
>     // SCARDCONTEXT, currently shared between all threads/terminals
>     private static long contextId;
>
>     // terminal state used by waitForCard()
>     private Map<String,ReaderState> stateMap;
>
>     PCSCTerminals() {
>         // empty
>     }
>
>     static synchronized void initContext() throws PCSCException {
>         if (contextId == 0) {
>             contextId = SCardEstablishContext(SCARD_SCOPE_USER);
>         }
>     }
>
>
> One way around this is to grab the source code and build yourself a different 
> provider using the code as a base.
I'm looking at doing exactly that to solve a different problem.. not
entirely sure that I'll end up implementing the full javax.smartcardio,
though. Probably only CardTerminal and Card, inside the current
commons-eid API.
I guess that would allow me to implement that will separate contexts.
Looking at the JRE8 sources for that.

Still.. I think we're missing something, here. If it's inherent in
libj2pcsc (java wrapper) or javax.smartcardio (and it looks like it from
the sources above), then why I can I read 5 photos from 5 eID's in the
same required to read one, and also, why would Murilo *not* have the
issue on Windows? Different implementation there?

-f

>
> Mike
>
>
>
>
>>> Do you think that issue have some relationship with this Ludovic post:
>>> http://ludovicrousseau.blogspot.com.br/2013/06/ccid-descriptor-statistics_7148.html
>> No.
>>
>> Bye
>>
>> --
>> Dr. Ludovic Rousseau
>>
>> _______________________________________________
>> Muscle mailing list
>> [email protected]
>> http://lists.musclecard.com/mailman/listinfo/muscle_lists.musclecard.com
>
>
> _______________________________________________
> Muscle mailing list
> [email protected]
> http://lists.musclecard.com/mailman/listinfo/muscle_lists.musclecard.com
>


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

Reply via email to