Mercurial > hg > mercurial-crew
changeset 26668:3b6e5914edd8
lock: loop a finite number of times in trylock (issue4787)
..before falling back to lock, which will sleep. This only addresses
the CPU consumption of the reported issue.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 24 Aug 2015 13:24:43 -0500 |
parents | 83c9edcac05c |
children | b188f60bd955 |
files | mercurial/lock.py |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/lock.py +++ b/mercurial/lock.py @@ -83,7 +83,9 @@ if lock._host is None: lock._host = socket.gethostname() lockname = '%s:%s' % (lock._host, self.pid) - while not self.held: + retry = 5 + while not self.held and retry: + retry -= 1 try: self.vfs.makelock(lockname, self.f) self.held = 1