Revision e4335b5b
b/lib/locking.py | ||
---|---|---|
699 | 699 |
def _del_owned(self, name=None): |
700 | 700 |
"""Note the current thread owns the given lock""" |
701 | 701 |
|
702 |
assert not (name is None and self.__lock._is_owned()), \ |
|
703 |
"Cannot hold internal lock when deleting owner status" |
|
704 |
|
|
702 | 705 |
if name is not None: |
703 | 706 |
self.__owners[threading.currentThread()].remove(name) |
704 | 707 |
|
... | ... | |
1212 | 1215 |
assert (not self._contains_BGL(level, names) or |
1213 | 1216 |
not self._upper_owned(LEVEL_CLUSTER)), ( |
1214 | 1217 |
"Cannot release the Big Ganeti Lock while holding something" |
1215 |
" at upper levels") |
|
1218 |
" at upper levels (%r)" % |
|
1219 |
(", ".join(["%s=%r" % (LEVEL_NAMES[i], self._list_owned(i)) |
|
1220 |
for i in self.__keyring.keys()]), )) |
|
1216 | 1221 |
|
1217 | 1222 |
# Release will complain if we don't own the locks already |
1218 | 1223 |
return self.__keyring[level].release(names) |
Also available in: Unified diff