[PATCH 3 of 3] lock releasing in hg buildin extensions now uses lock.release instead of the gc

Ronny Pfannschmidt Ronny.Pfannschmidt at gmx.de
Fri Apr 17 13:36:17 UTC 2009


# HG changeset patch
# User Ronny Pfannschmidt <Ronny.Pfannschmidt at gmx.de>
# Date 1239975340 -7200
# Node ID bd0ad2336d5471cb40f589bcdf084537ea984f69
# Parent  bf282c4ce9ddc5d06e9f35dc2ba4a7f85a17833b
lock releasing in hg buildin extensions now uses lock.release instead of the gc

diff -r bf282c4ce9dd -r bd0ad2336d54 hgext/convert/hg.py
--- a/hgext/convert/hg.py	Fri Apr 17 15:35:25 2009 +0200
+++ b/hgext/convert/hg.py	Fri Apr 17 15:35:40 2009 +0200
@@ -56,8 +56,8 @@
 
     def after(self):
         self.ui.debug(_('run hg sink post-conversion action\n'))
-        self.lock = None
-        self.wlock = None
+        self.lock.release()
+        self.wlock.release()
 
     def revmapfile(self):
         return os.path.join(self.path, ".hg", "shamap")
diff -r bf282c4ce9dd -r bd0ad2336d54 hgext/fetch.py
--- a/hgext/fetch.py	Fri Apr 17 15:35:25 2009 +0200
+++ b/hgext/fetch.py	Fri Apr 17 15:35:40 2009 +0200
@@ -132,7 +132,10 @@
                                            short(n)))
 
     finally:
-        del lock, wlock
+        if lock is not None:
+            lock.release()
+        if wlock is not None:
+            wlock.release()
 
 cmdtable = {
     'fetch':
diff -r bf282c4ce9dd -r bd0ad2336d54 hgext/keyword.py
--- a/hgext/keyword.py	Fri Apr 17 15:35:25 2009 +0200
+++ b/hgext/keyword.py	Fri Apr 17 15:35:40 2009 +0200
@@ -272,8 +272,10 @@
         lock = repo.lock()
         kwt.overwrite(None, expand, status[6])
     finally:
-        del wlock, lock
-
+        if lock is not None:
+            lock.release()
+        if wlock is not None:
+            wlock.release()
 
 def demo(ui, repo, *args, **opts):
     '''print [keywordmaps] configuration and an expansion example
@@ -486,7 +488,10 @@
                     repo.hook('commit', node=n, parent1=_p1, parent2=_p2)
                 return n
             finally:
-                del wlock, lock
+                if lock is not None:
+                    lock.release()
+                if wlock is not None:
+                    wlock.release()
 
     # monkeypatches
     def kwpatchfile_init(orig, self, ui, fname, opener, missing=False):
diff -r bf282c4ce9dd -r bd0ad2336d54 hgext/mq.py
--- a/hgext/mq.py	Fri Apr 17 15:35:25 2009 +0200
+++ b/hgext/mq.py	Fri Apr 17 15:35:40 2009 +0200
@@ -518,7 +518,11 @@
                     repo.dirstate.invalidate()
                 raise
         finally:
-            del tr, lock, wlock
+            del tr
+            if lock is not None:
+                lock.release()
+            if wlock is not None:
+                wlock.release()
             self.removeundo(repo)
 
     def _apply(self, repo, series, list=False, update_status=True,
@@ -766,6 +770,7 @@
                         for chunk in chunks:
                             p.write(chunk)
                     p.close()
+                    wlock.release()
                     wlock = None
                     r = self.qrepo()
                     if r: r.add([patchfn])
@@ -781,7 +786,8 @@
                 raise
             self.removeundo(repo)
         finally:
-            del wlock
+            if wlock is not None:
+                wlock.release()
 
     def strip(self, repo, rev, update=True, backup="all", force=None):
         wlock = lock = None
@@ -801,7 +807,10 @@
             # the actual strip
             self.removeundo(repo)
         finally:
-            del lock, wlock
+            if lock is not None:
+                lock.release()
+            if wlock is not None:
+                wlock.release()
 
     def isapplied(self, patch):
         """returns (index, rev, patch)"""
@@ -968,7 +977,7 @@
                 self.ui.write(_("now at: %s\n") % top)
             return ret[0]
         finally:
-            del wlock
+            wlock.release()
 
     def pop(self, repo, patch=None, force=False, update=True, all=False):
         def getfile(f, rev, flags):
@@ -1070,7 +1079,7 @@
             else:
                 self.ui.write(_("patch queue now empty\n"))
         finally:
-            del wlock
+            wlock.release()
 
     def diff(self, repo, pats, opts):
         top = self.check_toppatch(repo)
@@ -1295,7 +1304,7 @@
                 self.pop(repo, force=True)
                 self.push(repo, force=True)
         finally:
-            del wlock
+            wlock.release()
             self.removeundo(repo)
 
     def init(self, repo, create=False):
@@ -2173,7 +2182,7 @@
                 r.copy(patch, name)
                 r.remove([patch], False)
         finally:
-            del wlock
+            wlock.release()
 
     q.save_dirty()
 
diff -r bf282c4ce9dd -r bd0ad2336d54 hgext/rebase.py
--- a/hgext/rebase.py	Fri Apr 17 15:35:25 2009 +0200
+++ b/hgext/rebase.py	Fri Apr 17 15:35:40 2009 +0200
@@ -141,7 +141,10 @@
         if skipped:
             ui.note(_("%d revisions have been skipped\n") % len(skipped))
     finally:
-        del lock, wlock
+        if lock is not None:
+            lock.release()
+        if wlock is not None:
+            wlock.release()
 
 def concludenode(repo, rev, p1, p2, state, collapse, last=False, skipped={},
                  extrafn=None):
diff -r bf282c4ce9dd -r bd0ad2336d54 hgext/transplant.py
--- a/hgext/transplant.py	Fri Apr 17 15:35:25 2009 +0200
+++ b/hgext/transplant.py	Fri Apr 17 15:35:40 2009 +0200
@@ -168,7 +168,8 @@
         finally:
             self.saveseries(revmap, merges)
             self.transplants.write()
-            del lock, wlock
+            lock.release()
+            wlock.release()
 
     def filter(self, filter, changelog, patchfile):
         '''arbitrarily rewrite changeset before applying it'''
@@ -293,8 +294,7 @@
 
             return n, node
         finally:
-            del wlock
-
+            wlock.release()
     def readseries(self):
         nodes = []
         merges = []



More information about the Mercurial-devel mailing list