Make sure all input archives are unmapped before persisting the output archive
This commit is contained in:
parent
e1edc13afb
commit
a99838a115
1 changed files with 7 additions and 1 deletions
|
@ -290,11 +290,17 @@ impl<'a> ArArchiveBuilder<'a> {
|
|||
false,
|
||||
)?;
|
||||
|
||||
let any_entries = !entries.is_empty();
|
||||
drop(entries);
|
||||
// Drop src_archives to unmap all input archives, which is necessary if we want to write the
|
||||
// output archive to the same location as an input archive on Windows.
|
||||
drop(self.src_archives);
|
||||
|
||||
archive_tmpfile
|
||||
.persist(output)
|
||||
.map_err(|err| io_error_context("failed to rename archive file", err.error))?;
|
||||
|
||||
Ok(!entries.is_empty())
|
||||
Ok(any_entries)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue