[utils] `locked_file`: Fix for virtiofs (#6840)

Authored by: brandon-dacrib
Closes #6823
pull/6994/head
Eveldee 2 years ago committed by GitHub
parent 2f07c4c1da
commit 45998b3e37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -2187,10 +2187,11 @@ else:
fcntl.lockf(f, flags) fcntl.lockf(f, flags)
def _unlock_file(f): def _unlock_file(f):
try: with contextlib.suppress(OSError):
fcntl.flock(f, fcntl.LOCK_UN) return fcntl.flock(f, fcntl.LOCK_UN)
except OSError: with contextlib.suppress(OSError):
fcntl.lockf(f, fcntl.LOCK_UN) return fcntl.lockf(f, fcntl.LOCK_UN) # AOSP does not have flock()
return fcntl.flock(f, fcntl.LOCK_UN | fcntl.LOCK_NB) # virtiofs needs LOCK_NB on unlocking
except ImportError: except ImportError:

Loading…
Cancel
Save