Revision a66bd91b
b/lib/locking.py | ||
---|---|---|
520 | 520 |
""" |
521 | 521 |
return self.__pending[0] == cond |
522 | 522 |
|
523 |
def __acquire_unlocked(self, shared=0, timeout=None):
|
|
523 |
def __acquire_unlocked(self, shared, timeout):
|
|
524 | 524 |
"""Acquire a shared lock. |
525 | 525 |
|
526 | 526 |
@param shared: whether to acquire in shared mode; by default an |
... | ... | |
641 | 641 |
acquired = self.__is_exclusive() |
642 | 642 |
|
643 | 643 |
if not acquired: |
644 |
acquired = self.__acquire_unlocked(timeout) |
|
644 |
acquired = self.__acquire_unlocked(0, timeout) |
|
645 |
|
|
646 |
assert self.__is_exclusive() and not self.__is_sharer(), \ |
|
647 |
"Lock wasn't acquired in exclusive mode" |
|
645 | 648 |
|
646 | 649 |
if acquired: |
647 | 650 |
self.__deleted = True |
b/test/ganeti.locking_unittest.py | ||
---|---|---|
447 | 447 |
self.assertRaises(errors.LockError, self.sl.acquire, shared=1) |
448 | 448 |
self.assertRaises(errors.LockError, self.sl.delete) |
449 | 449 |
|
450 |
def testDeleteTimeout(self): |
|
451 |
self.sl.delete(timeout=60) |
|
452 |
|
|
450 | 453 |
def testNoDeleteIfSharer(self): |
451 | 454 |
self.sl.acquire(shared=1) |
452 | 455 |
self.assertRaises(AssertionError, self.sl.delete) |
Also available in: Unified diff