You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's a problem with the Connector app that it doesn't free the handles obtained by a client when it's terminated during a blocking PC/SC call (e.g. the potentially infinitely working SCardGetStatusChange function).
One of the effects is that a terminated and then quickly restarted client may be blocked for considerable amount of time or even forever if it was using blocking PC/SC calls.
The probable reason for the bug is that our PC/SC-Lite port doesn't seem to contain the code that would terminate blocking PC/SC calls when the client disconnection event is received. The cleanup of the client's handles seems to be is effectively postponed until the last blocking call from that client is finished, which is wrong.
There's a problem with the Connector app that it doesn't free the handles obtained by a client when it's terminated during a blocking PC/SC call (e.g. the potentially infinitely working SCardGetStatusChange function).
One of the effects is that a terminated and then quickly restarted client may be blocked for considerable amount of time or even forever if it was using blocking PC/SC calls.
The probable reason for the bug is that our PC/SC-Lite port doesn't seem to contain the code that would terminate blocking PC/SC calls when the client disconnection event is received. The cleanup of the client's handles seems to be is effectively postponed until the last blocking call from that client is finished, which is wrong.
/cc @dskaram
The text was updated successfully, but these errors were encountered: