1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-26 01:37:20 +00:00

Merge pull request #561 from ThomasWaldmann/fix-locking

fix locking, partial fix for #502
This commit is contained in:
TW 2016-01-16 18:46:13 +01:00
commit c667d330b4

View file

@ -278,9 +278,11 @@ def _wait_for_readers_finishing(self, remove, sleep):
try: try:
if remove is not None: if remove is not None:
self._roster.modify(remove, REMOVE) self._roster.modify(remove, REMOVE)
remove = None
if len(self._roster.get(SHARED)) == 0: if len(self._roster.get(SHARED)) == 0:
return # we are the only one and we keep the lock! return # we are the only one and we keep the lock!
# restore the roster state as before (undo the roster change):
if remove is not None:
self._roster.modify(remove, ADD)
except: except:
# avoid orphan lock when an exception happens here, e.g. Ctrl-C! # avoid orphan lock when an exception happens here, e.g. Ctrl-C!
self._lock.release() self._lock.release()