diff --git a/channels/encomsp/client/encomsp_main.c b/channels/encomsp/client/encomsp_main.c index 35c575622..b9d6b947b 100644 --- a/channels/encomsp/client/encomsp_main.c +++ b/channels/encomsp/client/encomsp_main.c @@ -1087,7 +1087,7 @@ static UINT encomsp_virtual_channel_event_connected(encomspPlugin* encomsp, } if (!(encomsp->thread = CreateThread(NULL, 0, - encomsp_virtual_channel_client_thread, (void*) encomsp, + encomsp_virtual_channel_client_thread, (void*) encomsp, 0, NULL))) { WLog_ERR(TAG, "CreateThread failed!"); @@ -1107,6 +1107,9 @@ static UINT encomsp_virtual_channel_event_disconnected(encomspPlugin* encomsp) { UINT rc; + if (encomsp->OpenHandle == 0) + return CHANNEL_RC_OK; + if (MessageQueue_PostQuit(encomsp->queue, 0) && (WaitForSingleObject(encomsp->thread, INFINITE) == WAIT_FAILED)) {