mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 08:24:16 +09:00
Fix dead lock in smartcard
when smartcard_GetStatusChangeW_Call is called with infinit timeout during smartcard logon,
we does not have access to cancel field used by smartcard_call_cancel_context
We have to use smartcard_call_context_signal_stop which set the event stopEvent
parsed by smartcard_GetStatusChangeW_Call
This commit is contained in:
@@ -227,6 +227,7 @@ void smartcard_context_free(void* pCtx)
|
||||
/* cancel blocking calls like SCardGetStatusChange */
|
||||
WINPR_ASSERT(pContext->smartcard);
|
||||
smartcard_call_cancel_context(pContext->smartcard->callctx, pContext->hContext);
|
||||
smartcard_call_context_signal_stop(pContext->smartcard->callctx, FALSE);
|
||||
|
||||
if (pContext->IrpQueue)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user