diff mercurial/lock.py @ 1530:abfab59fce79

add a releasefn keyword to lock.lock releasefn is a function that will be executed when the lock is released
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Fri, 11 Nov 2005 15:34:09 -0800
parents 6d5a62a549fa
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