melib: rename files after getting lock in maildir
parent
e0e520b2c4
commit
2d7f9ca46f
|
@ -159,16 +159,16 @@ impl<'a> BackendOp for MaildirOp {
|
||||||
if !(flags & Flag::TRASHED).is_empty() {
|
if !(flags & Flag::TRASHED).is_empty() {
|
||||||
new_name.push('T');
|
new_name.push('T');
|
||||||
}
|
}
|
||||||
|
|
||||||
debug!("renaming {:?} to {:?}", path, new_name);
|
|
||||||
fs::rename(&path, &new_name)?;
|
|
||||||
debug!("success in rename");
|
|
||||||
let old_hash = envelope.hash();
|
let old_hash = envelope.hash();
|
||||||
let new_name: PathBuf = new_name.into();
|
let new_name: PathBuf = new_name.into();
|
||||||
let hash_index = self.hash_index.clone();
|
let hash_index = self.hash_index.clone();
|
||||||
let mut map = hash_index.lock().unwrap();
|
let mut map = hash_index.lock().unwrap();
|
||||||
let map = map.entry(self.folder_hash).or_default();
|
let map = map.entry(self.folder_hash).or_default();
|
||||||
map.entry(old_hash).or_default().modified = Some(new_name.clone());
|
map.entry(old_hash).or_default().modified = Some(new_name.clone());
|
||||||
|
|
||||||
|
debug!("renaming {:?} to {:?}", path, new_name);
|
||||||
|
fs::rename(&path, &new_name)?;
|
||||||
|
debug!("success in rename");
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue