RFAddReader(): try to use the reader polling thread also for the other
slots on a multi-slots reader
21 lines of code changed in 1 file:
add spaces around =
1 lines of code changed in 1 file:
SCardReconnect(), SCardDisconnect(), SCardBeginTransaction(),
SCardEndTransaction(), SCardCancelTransaction(), SCardStatus(),
SCardControl(), SCardGetSetAttrib(), SCardTransmit(): check that the
card handle is still valid after we (should) hold the lock
The context may have been closed by another thread using
SCardReleaseContext() on the same context
[#300849] problems in multithreading environment (segmentation faults,
SCardCancel does not work)
72 lines of code changed in 1 file:
SYS_Mutex*(): check that the mMutex parameter is non NULL to avoid a
crash
related to [#300849] problems in multithreading environment
(segmentation faults, SCardCancel does not work)
20 lines of code changed in 1 file:
remove spaces at end of lines
18 lines of code changed in 6 files:
SCardReleaseContext(), SCardConnect(), SCardGetStatusChange(),
SCardListReaders() and SCardListReaderGroups: check that the context is
still opened after we (should) hold the lock
The context may have been closed by another thread using
SCardReleaseContext() on the same context
[#300849] problems in multithreading environment (segmentation faults,
SCardCancel does not work)
40 lines of code changed in 1 file:
remove an empty line
0 lines of code changed in 1 file:
do not include the (useless) win32 directory any more
1 lines of code changed in 14 files:
SCardConnect(), SCardReconnect(): do not check the parameter
dwPreferredProtocols if dwShareMode == SCARD_SHARE_DIRECT
This is used on contactless readers to talk to the reader without any
card and "random" value of dwPreferredProtocols
Thanks to Philippe BOURGAULT for reporting the bug
4 lines of code changed in 1 file:
SCardEstablishContextTH(), SCardConnect(), SCardReconnect(),
SCardDisconnect(), SCardEndTransaction(): do not check parameters for
SCARD_E_INVALID_VALUE since these tests are also done on the server
side.
Do not duplicate code
0 lines of code changed in 1 file:
SVCServiceRunLoop(): return if HPSearchHotPluggables() fails
4 lines of code changed in 1 file:
SVCServiceRunLoop(): return if HPRegisterForHotplugEvents() fails
3 lines of code changed in 1 file:
CreateContextThread(): update to the new SYS_ThreadCreate() API
5 lines of code changed in 1 file:
EHDestroyEventHandler(): log the error message of SYS_ThreadJoin() and
SYS_ThreadCreate() if any
12 lines of code changed in 1 file:
EHSpawnEventHandler(): do not create the card polling thread using
THREAD_ATTR_DETACHED since that will prevent SYS_ThreadJoin() from
working
1 lines of code changed in 1 file:
EHStatusHandlerThread(): do not call SYS_ThreadDetach() since that will
prevent SYS_ThreadJoin() from working.
0 lines of code changed in 1 file:
update copyright date
1 lines of code changed in 1 file:
forward the return value from the low level thread library and not just
FALSE or TRUE
The upper layer can then use strerror()
15 lines of code changed in 1 file:
do not distribute win32 files anymore.
win32 is not a supported platform
1 lines of code changed in 3 files:
pcscd -v now displays the enabled features
Thanks to Alon Bar-Lev for the suggestion
11 lines of code changed in 2 files:
update email for bug reports
2 lines of code changed in 1 file:
IFDCloseIFD(): use SYS_MutexTryLock() instead of SYS_MutexLock() since
the mutex may be hold by a now dead polling thread
4 lines of code changed in 1 file:
add SYS_MutexTryLock()
6 lines of code changed in 2 files:
typo in comment
1 lines of code changed in 1 file:
add AUTOMAKE_OPTIONS = dist-bzip2 so that make dist alsa generates a
.tar.bz2 archive
1 lines of code changed in 1 file:
RFAddReader(): in case of error call RFRemoveReader() to free all
resources instead of duplicating part of the needed code.
4 lines of code changed in 1 file:
RFAddReader(): call RFRemoveReader() to free resources if
EHSpawnEventHandler() fails
4 lines of code changed in 1 file:
do not store in subversion since it is installed by autoconf
0 lines of code changed in 1 file: