On 16/06/06, Karsten Ohme <[EMAIL PROTECTED]> wrote:
Scott Moynes wrote: > Karsten Ohme wrote: > >> >> >> I believe the problem is the following: >> >> Usually the context should only released, if the library is unloaded. >> But SCardReleaseContext is called in the Release function, that means >> not only the connection to the card is closed, but also the connection >> to the resource manager of the system. So, the value of the handle >> localHContext is also invalid, because it is a value, which context was >> destroyed. So an error occurs. >> Set localHContext to 0 is not necessary, because the context should be >> cached, so the solution, which would fit better the idea of caching, is >> to remove the whole SCardReleaseContext branch, the disconnection is >> enough. >> >> I think, I have not such problem. >> >> > > I agree that if the SCardReleaseContext is not called, then > localHContext does not need to be cleared and remains valid. Indeed, > this is what previous beta releases did and our software works fine with > those releases, but the context release was added so I could only assume > that there is some reason for this.
The call to SCardReleaseContext() in MSCReleaseConnection() was added in changeset 1416 [1] after a patch sent by Karsten Ohme.
I'm not sure, the fini function with the destructor is rather new and maybe it is a relic from former times. (?)
The fini function was added in changeset 1432 [2] after a patch from Karsten Ohme. Kartsen has a commit access right so I let him solve this problem (if it is a problem). Bye, [1] http://svn.debian.org/wsvn/pcsclite/trunk/libmusclecard/src/?rev=1416&sc=1 [2] http://svn.debian.org/wsvn/pcsclite/trunk/libmusclecard/src/?rev=1432&sc=1 -- Dr. Ludovic Rousseau _______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
