Hello,

Well, I have fixed a bunch of problems with development release 0.6.0.  The
new release will be 0.6.2  I have cleaned up a few things such as the
following:

1) Only allocate enough shared memory to reflect the number of readers -
this will change a bit when we start supporting USB readers so that they
can be hot pluggable and the resource manager will recognize this.

2) Pthreads replace the old and ugly fork() that was used to receive
events.  This is a polling mechanism, but it can be lightweight.  It calls
the IFDStatus function which calls the IFD_Is_Icc_Present function in the
driver.  If your reader supports interrupts then this would be as simple as
either returning PRESENT or ABSENT instead of sending a command to the
reader each time this is called.

3)  Pthread Mutexes replace my old 'test and set' algorithm for mutual
exclusion.  This keeps 1 application from infinite looping the resource
manager and causing starvation to other threads.

4) Function pointers to dynamic loaded libraries will be mapped at startup
instead of at runtime.  Before, each time a function was called it mapped
the function pointer to the library.  Now it will be done once and stored
in a structure.


The readers in /etc/pcsc.conf instead of /etc/reader.conf are only the ones
that are active on the system.  Before you could specify more readers even
if you weren't using them.  The resource manager will test these readers on
startup and either exit if there is a problem or continue.


In 0.6.0 I noticed that a few memory corruptions would occur on a not so
predictable basis.  These changes/fixes seem to take care of the problem
and also make the resource manager alot more lightweight.


The following might not be in the next release but it will be soon.

Depending on your settings in /etc/pcsc.conf the power on the card will
suspend after a certain time of no connections and the port will be freed
after a certain timeout of no connection
If you choose this may never happen and the power and port will always be
allocated.
On another connection the port and power will be reallocated until
disconnect + timeout

Let me know if you have any ideas ....

Best Regards,
Dave



***************************************************************
Linux Smart Card Developers - M.U.S.C.L.E.
(Movement for the Use of Smart Cards in a Linux Environment)
http://www.linuxnet.com/smartcard/index.html
***************************************************************

Reply via email to