CONNECT_TRANSPORT_FAILED in transport_check_fds
authorArmin Novak <armin.novak@thincast.com>
Wed, 8 Jan 2020 16:40:39 +0000 (17:40 +0100)
committerArmin Novak <armin.novak@thincast.com>
Wed, 8 Jan 2020 16:42:08 +0000 (17:42 +0100)
If TRANSPORT_LAYER_CLOSED was detected in transport_check_fds
check if there is already a connection error set, otherwise
set FREERDP_ERROR_CONNECT_TRANSPORT_FAILED to allow proper
reconnect or abort handling.

Signed-off-by: Armin Novak <armin.novak@thincast.com>
libfreerdp/core/transport.c

index 439fbbf..db3a887 100644 (file)
@@ -1009,6 +1009,8 @@ int transport_check_fds(rdpTransport* transport)
        if (transport->layer == TRANSPORT_LAYER_CLOSED)
        {
                WLog_Print(transport->log, WLOG_DEBUG, "transport_check_fds: transport layer closed");
+               if (freerdp_get_last_error(transport->context) == FREERDP_ERROR_SUCCESS)
+                       freerdp_set_last_error_log(transport->context, FREERDP_ERROR_CONNECT_TRANSPORT_FAILED);
                return -1;
        }