# HG changeset patch # User Siddharth Agarwal # Date 1443209963 25200 # Node ID efd57cd6fd1d5eb76102fabfc45676873bbba29d # Parent 431094a3b21fa875b5fdc3e4a04404a2936a5abf localrepo: allow wlock to be inherited This is part of a series that will allow locks to be inherited by subprocesses in limited circumstances. When allowed, the parent process will pass down requisite information to the child process by way of this environment variable. diff -r 431094a3b21f -r efd57cd6fd1d mercurial/localrepo.py --- a/mercurial/localrepo.py Sun Oct 04 20:04:44 2015 -0700 +++ b/mercurial/localrepo.py Fri Sep 25 12:39:23 2015 -0700 @@ -1296,7 +1296,7 @@ l = self._lock(self.vfs, "wlock", wait, unlock, self.invalidatedirstate, _('working directory of %s') % - self.origroot) + self.origroot, parentenvvar='HG_WLOCK_LOCKER') self._wlockref = weakref.ref(l) return l diff -r 431094a3b21f -r efd57cd6fd1d tests/test-fncache.t --- a/tests/test-fncache.t Sun Oct 04 20:04:44 2015 -0700 +++ b/tests/test-fncache.t Fri Sep 25 12:39:23 2015 -0700 @@ -205,7 +205,7 @@ > from mercurial import commands, util > from mercurial.extensions import wrapfunction > - > def lockexception(orig, vfs, lockname, wait, releasefn, acquirefn, desc): + > def lockexception(orig, vfs, lockname, wait, releasefn, acquirefn, desc, parentenvvar=None): > def releasewrap(): > raise util.Abort("forced lock failure") > return orig(vfs, lockname, wait, releasewrap, acquirefn, desc)