Mercurial > hg
changeset 21698:99ba1d082287 stable
localrepo: prevent leak of transaction object (issue4258)
The onclose() closure added in cd443c7589cc held a regular reference to
the transaction object. This was causing the transaction to not gc and
a leak to occur.
The closure now holds a reference to the weakref instance and the leak
goes away.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 21 May 2014 18:02:35 -0700 |
parents | 3cb2da25b171 |
children | 269c80ee5b3c |
files | mercurial/localrepo.py |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py Thu May 22 01:49:12 2014 -0700 +++ b/mercurial/localrepo.py Wed May 21 18:02:35 2014 -0700 @@ -858,7 +858,7 @@ _("abandoned transaction found - run hg recover")) def onclose(): - self.store.write(tr) + self.store.write(self._transref()) self._writejournal(desc) renames = [(vfs, x, undoname(x)) for vfs, x in self._journalfiles()]