with-lock: close segment file before invoking subprocess

(cherry picked from commit b9dce0ebdc)
This commit is contained in:
Thomas Waldmann 2017-09-06 03:49:45 +02:00
parent ff9c511be3
commit eeaa43b668
1 changed files with 5 additions and 0 deletions

View File

@ -1664,6 +1664,11 @@ class Archiver:
# the encryption key (and can operate just with encrypted data).
data = repository.get(Manifest.MANIFEST_ID)
repository.put(Manifest.MANIFEST_ID, data)
# usually, a 0 byte (open for writing) segment file would be visible in the filesystem here.
# we write and close this file, to rather have a valid segment file on disk, before invoking the subprocess.
# we can only do this for local repositories (with .io), though:
if hasattr(repository, 'io'):
repository.io.close_segment()
try:
# we exit with the return code we get from the subprocess
return subprocess.call([args.command] + args.args)