Fixed channel duplicate disconnect handling
authorArmin Novak <armin.novak@thincast.com>
Mon, 9 Apr 2018 09:09:59 +0000 (11:09 +0200)
committerArmin Novak <armin.novak@thincast.com>
Mon, 9 Apr 2018 09:26:31 +0000 (11:26 +0200)
channels/encomsp/client/encomsp_main.c

index 35c5756..b9d6b94 100644 (file)
@@ -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))
        {