[PATCH 3 of 4 marmoute-reviewed] lock.release: don't call postrelease functions for inherited locks

Pierre-Yves David pierre-yves.david at ens-lyon.org
Sun Oct 4 22:54:29 CDT 2015



On 10/04/2015 08:23 PM, Siddharth Agarwal wrote:
> # HG changeset patch
> # User Siddharth Agarwal <sid0 at fb.com>
> # Date 1444014284 25200
> #      Sun Oct 04 20:04:44 2015 -0700
> # Node ID 5864aca0e2d7597135a8cd061358a6fd3144325c
> # Parent  7ec3a1cc6f54cb2f94a199b2381d724ec071ba5d
> lock.release: don't call postrelease functions for inherited locks
>
> Review feedback from Pierre-Yves David. The postrelease functions typically
> assume the lock is not held at all.

I've moved that last sentence as an inline comment.

> diff --git a/mercurial/lock.py b/mercurial/lock.py
> --- a/mercurial/lock.py
> +++ b/mercurial/lock.py
> @@ -221,8 +221,9 @@ class lock(object):
>                           self.vfs.unlink(self.f)
>                       except OSError:
>                           pass
> -            for callback in self.postrelease:
> -                callback()
> +            if not self._parentheld:
> +                for callback in self.postrelease:
> +                    callback()

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list