avoid waiting too long if the clipboard message is blocked

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2023-06-19 22:52:17 +08:00
parent 5a8c2d9cd0
commit 733e4236c4
7 changed files with 111 additions and 115 deletions

View File

@@ -406,7 +406,9 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
let file_transfer_enabled = self.file_transfer_enabled;
let stop = !is_stopping_allowed && !(is_clipboard_enabled && file_transfer_enabled);
log::debug!("Process clipboard message from peer, stop: {}, is_stopping_allowed: {}, is_clipboard_enabled: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, is_clipboard_enabled, file_transfer_enabled);
if !stop {
if stop {
ContextSend::set_is_stopped();
} else {
let conn_id = self.conn_id;
ContextSend::proc(|context: &mut Box<CliprdrClientContext>| -> u32 {
clipboard::server_clip_file(context, conn_id, _clip)
@@ -461,7 +463,9 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
let file_transfer_enabled = self.file_transfer_enabled;
let stop = is_stopping_allowed && !(is_clipboard_enabled && file_transfer_enabled);
log::debug!("Process clipboard message from cm, stop: {}, is_stopping_allowed: {}, is_clipboard_enabled: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, is_clipboard_enabled, file_transfer_enabled);
if !stop {
if stop {
ContextSend::set_is_stopped();
} else {
allow_err!(self.tx.send(Data::ClipboardFile(_clip)));
}
}