--- a/mercurial/lock.py Tue Feb 21 16:46:38 2006 +0100
+++ b/mercurial/lock.py Tue Feb 21 23:21:15 2006 +0100
@@ -16,10 +16,10 @@
pass
class lock(object):
- def __init__(self, file, wait=1, releasefn=None):
+ def __init__(self, file, timeout=-1, releasefn=None):
self.f = file
self.held = 0
- self.wait = wait
+ self.timeout = timeout
self.releasefn = releasefn
self.lock()
@@ -27,13 +27,16 @@
self.release()
def lock(self):
+ timeout = self.timeout
while 1:
try:
self.trylock()
return 1
except LockHeld, inst:
- if self.wait:
+ if timeout != 0:
time.sleep(1)
+ if timeout > 0:
+ timeout -= 1
continue
raise inst