mirror of https://github.com/FreeRDP/FreeRDP
transport: exit transport loop when the session is activated.
This commit is contained in:
parent
c86b81f966
commit
af57056228
|
@ -1153,7 +1153,10 @@ static int rdp_recv_callback(rdpTransport* transport, wStream* s, void* extra)
|
|||
status = rdp_recv_pdu(rdp, s);
|
||||
|
||||
if ((status >= 0) && (rdp->finalize_sc_pdus == FINALIZE_SC_COMPLETE))
|
||||
{
|
||||
rdp_client_transition_to_state(rdp, CONNECTION_STATE_ACTIVE);
|
||||
return 2;
|
||||
}
|
||||
break;
|
||||
|
||||
case CONNECTION_STATE_ACTIVE:
|
||||
|
|
|
@ -1071,13 +1071,14 @@ int transport_check_fds(rdpTransport* transport)
|
|||
*/
|
||||
|
||||
recv_status = transport->ReceiveCallback(transport, received, transport->ReceiveExtra);
|
||||
|
||||
if (recv_status == 1)
|
||||
{
|
||||
return 1; /* session redirection */
|
||||
}
|
||||
Stream_Release(received);
|
||||
|
||||
/* session redirection or activation */
|
||||
if (recv_status == 1 || recv_status == 2)
|
||||
{
|
||||
return recv_status;
|
||||
}
|
||||
|
||||
if (recv_status < 0)
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue