Mercurial > public > mercurial-scm > hg
diff hgext/fix.py @ 40431:8ebb05f747e5 stable
fix: disable use of thread-based worker
getfixes() accesses to repo, changectx, filectx, etc., so I believe there
are code paths triggering data race. Mercurial API isn't thread safe in
general.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 31 Oct 2018 21:16:54 +0900 |
parents | c303d65d2e34 |
children | 93bab80993f4 |
line wrap: on
line diff
--- a/hgext/fix.py Wed Oct 31 15:27:06 2018 +0300 +++ b/hgext/fix.py Wed Oct 31 21:16:54 2018 +0900 @@ -157,7 +157,8 @@ # Don't waste memory/time passing unchanged content back, but # produce one result per item either way. yield (rev, path, newdata if newdata != olddata else None) - results = worker.worker(ui, 1.0, getfixes, tuple(), workqueue) + results = worker.worker(ui, 1.0, getfixes, tuple(), workqueue, + threadsafe=False) # We have to hold on to the data for each successor revision in memory # until all its parents are committed. We ensure this by committing and