equal
deleted
inserted
replaced
36 self.timeout = timeout |
36 self.timeout = timeout |
37 self.releasefn = releasefn |
37 self.releasefn = releasefn |
38 self.desc = desc |
38 self.desc = desc |
39 self.postrelease = [] |
39 self.postrelease = [] |
40 self.pid = os.getpid() |
40 self.pid = os.getpid() |
41 self.lock() |
41 self.delay = self.lock() |
42 |
42 |
43 def __del__(self): |
43 def __del__(self): |
44 if self.held: |
44 if self.held: |
45 warnings.warn("use lock.release instead of del lock", |
45 warnings.warn("use lock.release instead of del lock", |
46 category=DeprecationWarning, |
46 category=DeprecationWarning, |
55 def lock(self): |
55 def lock(self): |
56 timeout = self.timeout |
56 timeout = self.timeout |
57 while True: |
57 while True: |
58 try: |
58 try: |
59 self.trylock() |
59 self.trylock() |
60 return 1 |
60 return self.timeout - timeout |
61 except error.LockHeld, inst: |
61 except error.LockHeld, inst: |
62 if timeout != 0: |
62 if timeout != 0: |
63 time.sleep(1) |
63 time.sleep(1) |
64 if timeout > 0: |
64 if timeout > 0: |
65 timeout -= 1 |
65 timeout -= 1 |