mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
When a device has reported the verification status the client should call VerifyStop to stop the device, however this under the hood may lead to a premature cancellation, causing the device not to react as expected in case the finger is still on the sensor or in case it may return to us some errors that we may want to handle (like the data-missing one). So, in case we are about to stop the verification and the operation is still in process, wait for a maximum timeout before proceed to the cancellation. However, while waiting, the action may be also cancelled because of a call to Release() or because the client vanished, and in such case we have to ensure that the current invocation is saved for being invoked by stoppable_action_completed() when callback will return. That will also unset it, and that's a clear indication for us that it has been already consumed, and thus that we can just return doing nothing else. Fixes: #100