diff --git a/libfreerdp/core/client.c b/libfreerdp/core/client.c index 12285403a..c7758a5f1 100644 --- a/libfreerdp/core/client.c +++ b/libfreerdp/core/client.c @@ -776,16 +776,11 @@ int freerdp_channels_process_pending_messages(freerdp* instance) */ BOOL freerdp_channels_check_fds(rdpChannels* channels, freerdp* instance) { - BOOL status = TRUE; WINPR_ASSERT(channels); + WINPR_UNUSED(channels); - if (WaitForSingleObject(MessageQueue_Event(channels->queue), 0) == WAIT_OBJECT_0) - { - if (!freerdp_channels_process_sync(channels, instance)) - status = FALSE; - } - - return status; + const int rc = freerdp_channels_process_pending_messages(instance); + return rc == 1; } BOOL freerdp_client_channel_register(rdpChannels* channels, HANDLE handle, @@ -899,7 +894,7 @@ void freerdp_channels_close(rdpChannels* channels, freerdp* instance) WINPR_ASSERT(instance); MessageQueue_PostQuit(channels->queue, 0); - freerdp_channels_check_fds(channels, instance); + (void)freerdp_channels_check_fds(channels, instance); /* tell all libraries we are shutting down */ for (int index = 0; index < channels->clientDataCount; index++)