LudovicRousseau / CCID

CCID driver
https://ccid.apdu.fr/
GNU Lesser General Public License v2.1
235 stars 79 forks source link

Fix polling transfer restart after InterruptStop #119

Closed emaxx-google closed 1 year ago

emaxx-google commented 1 year ago

Fix the regression introduced in the "Fix InterruptStop if called before InterruptRead" commit: it should be possible to start a new polling transfer after the previous one has been stopped.

This problem prevented the polling transfer from working after an SCardDisconnect call, and led to using the sleep-based polling every 400 ms.

Implementation-wise, the fix is to change the "terminate" flag to be non-sticky, i.e., unset it after reading from it.