refactor handle_login_error to avoid dead lock, and recover pr #2602

This commit is contained in:
rustdesk
2022-12-27 11:42:48 +08:00
parent c5feb95509
commit 7d5876f7b8
4 changed files with 57 additions and 36 deletions

View File

@@ -107,6 +107,7 @@ impl<T: InvokeUiSession> Remote<T> {
SERVER_CLIPBOARD_ENABLED.store(true, Ordering::SeqCst);
SERVER_FILE_TRANSFER_ENABLED.store(true, Ordering::SeqCst);
self.handler.set_connection_type(peer.is_secured(), direct); // flutter -> connection_ready
self.handler.set_connection_info(direct, false);
// just build for now
#[cfg(not(windows))]
@@ -144,7 +145,10 @@ impl<T: InvokeUiSession> Remote<T> {
}
Ok(ref bytes) => {
last_recv_time = Instant::now();
received = true;
if !received {
received = true;
self.handler.set_connection_info(direct, true);
}
self.data_count.fetch_add(bytes.len(), Ordering::Relaxed);
if !self.handle_msg_from_peer(bytes, &mut peer).await {
break