[Muscle] SCardReleaseContext() blocks my program
Ludovic Rousseau
ludovic.rousseau at gmail.com
Thu Nov 22 03:04:43 PST 2007
2007/11/22, Nagy Gabor <ngaba at bibl.u-szeged.hu>:
> Hi!
Hello,
> 1. First of all, I'm not sure if this the pcsc-lite ML, but it looks so...
It is the good place to report bugs.
> 2. I apologize, if this question was asked and somewhere, but I cannot reread
> the whole ML archive;-)
Why not? The archive is available at [1].
> 3. And I don't know whether is a bug or not.
> (I hope you don't ignore my mail after reading these ;-)
>
> So, my program has been blocked by "SCardGetStatusChange(hContext, INFINITE,
> &rgReaderState, 1);" and the program gets a TERM signal which leads to my
> signal_trap function which does an SCardReleaseContext() and this point my
> little app is frozen.
Since your application is killed in the middle of
SCardGetStatusChange() a semaphore is not released and
SCardReleaseContext() is wating after the semaphore.
> PS: I have pcsc-lite 1.4.3
You can try version 1.4.4 but I don't think it will solve your problem.
Possible solution:
- do not kill your program in the middle of PC/SC calls
- do not call SCardReleaseContext() in your signal_trap function
I don't know if PC/SC functions are supposed to be reentrant with the
_same_ card or reader context.
bye
[1] http://archives.neohapsis.com/archives/dev/muscle/
--
Dr. Ludovic Rousseau
More information about the Muscle
mailing list