fix: write job resets

This commit is contained in:
Kingtous 2022-12-06 15:09:57 +08:00
parent c77fe6c01c
commit e3c239f5ae
2 changed files with 5 additions and 7 deletions

View File

@ -933,14 +933,12 @@ impl<T: InvokeUiSession> Remote<T> {
err = job.job_error();
fs::remove_job(d.id, &mut self.write_jobs);
}
if let Some(job) = fs::get_job(d.id, &mut self.read_jobs) {
job.modify_time();
err = job.job_error();
fs::remove_job(d.id, &mut self.read_jobs);
}
self.handle_job_status(d.id, d.file_num, err);
}
Some(file_response::Union::Error(e)) => {
if let Some(job) = fs::get_job(e.id, &mut self.write_jobs) {
fs::remove_job(e.id, &mut self.write_jobs);
}
self.handle_job_status(e.id, e.file_num, Some(e.error));
}
_ => {}

View File

@ -598,8 +598,8 @@ async fn handle_fs(fs: ipc::FS, write_jobs: &mut Vec<fs::TransferJob>, tx: &Unbo
}
ipc::FS::WriteError { id, file_num, err } => {
if let Some(job) = fs::get_job(id, write_jobs) {
send_raw(fs::new_error(id, err, file_num), tx);
fs::remove_job(id, write_jobs);
send_raw(fs::new_error(job.id(), err, file_num), tx);
fs::remove_job(job.id(), write_jobs);
}
}
ipc::FS::WriteBlock {