# HG changeset patch # User Matt Mackall # Date 2014-06-16 18:30:46 # Node ID bd3360c63bb3970222609e9baed998761d8e65aa # Parent c27a376785083193cdeee64294e58af10372bbbb hgweb: avoid initialization race (issue4280) diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py +++ b/mercurial/hgweb/hgweb_mod.py @@ -109,8 +109,6 @@ class hgweb(object): # compare changelog size in addition to mtime to catch # rollbacks made less than a second ago if st.st_mtime != self.mtime or st.st_size != self.size: - self.mtime = st.st_mtime - self.size = st.st_size r = hg.repository(self.repo.baseui, self.repo.root) self.repo = self._getview(r) self.maxchanges = int(self.config("web", "maxchanges", 10)) @@ -121,6 +119,9 @@ class hgweb(object): self.allowpull = self.configbool("web", "allowpull", True) encoding.encoding = self.config("web", "encoding", encoding.encoding) + # update these last to avoid threads seeing empty settings + self.mtime = st.st_mtime + self.size = st.st_size if request: self.repo.ui.environ = request.env