Yield in connection wait loops to reduce processor use.
authorArmin Novak <armin.novak@thincast.com>
Fri, 18 Jan 2019 12:03:36 +0000 (13:03 +0100)
committerArmin Novak <armin.novak@thincast.com>
Fri, 18 Jan 2019 12:03:36 +0000 (13:03 +0100)
Patch by Andrey Vasilkin on mailing list.

libfreerdp/core/activation.c
libfreerdp/core/connection.c

index 956b4db..1537dc8 100644 (file)
@@ -290,6 +290,8 @@ BOOL rdp_recv_deactivate_all(rdpRdp* rdp, wStream* s)
 
                if (freerdp_shall_disconnect(rdp->instance))
                        break;
+
+               SwitchToThread();
        }
 
        return TRUE;
index 3870b5e..ed1490d 100644 (file)
@@ -336,6 +336,7 @@ BOOL rdp_client_connect(rdpRdp* rdp)
 
                        return FALSE;
                }
+               SwitchToThread();
        }
 
        return TRUE;