don't crash in first part of truncate_and_unlink, fixes #3117

This commit is contained in:
Thomas Waldmann 2017-10-10 00:51:13 +02:00
parent b853ad8f85
commit 7a689b1295
1 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,4 @@
import errno
import os
import os.path
import re
@ -141,8 +142,13 @@ def truncate_and_unlink(path):
recover. Refer to the "File system interaction" section
in repository.py for further explanations.
"""
with open(path, 'r+b') as fd:
fd.truncate()
try:
with open(path, 'r+b') as fd:
fd.truncate()
except OSError as err:
if err.errno != errno.ENOTSUP:
raise
# don't crash if the above ops are not supported.
os.unlink(path)