diff mercurial/lock.py @ 1538:482b4efdf013

Merge with upstream
author Thomas Arendsen Hein <thomas@intevation.de>
date Sun, 13 Nov 2005 02:08:39 +0100
parents abfab59fce79
children 59b3639df0a9
line wrap: on
line diff
--- a/mercurial/lock.py
+++ b/mercurial/lock.py
@@ -12,10 +12,11 @@ class LockHeld(Exception):
     pass
 
 class lock:
-    def __init__(self, file, wait=1):
+    def __init__(self, file, wait=1, releasefn=None):
         self.f = file
         self.held = 0
         self.wait = wait
+        self.releasefn = releasefn
         self.lock()
 
     def __del__(self):
@@ -43,6 +44,8 @@ class lock:
     def release(self):
         if self.held:
             self.held = 0
+            if self.releasefn:
+                self.releasefn()
             try:
                 os.unlink(self.f)
             except: pass