##// END OF EJS Templates
unbundle: free temporary objects after use...
unbundle: free temporary objects after use This reduces peak RSS for larger unbundle operations by ~30 Bytes per changeset on AMD64. This can't be a direct delete for Python 2.7, so reset the object instead and leave a comment. The efilesset object can't be deleted as it is referenced by the local onchangelog function and Python 2.7 rejects a delete on the existance of a nested scope. Differential Revision: https://phab.mercurial-scm.org/D9153

File last commit:

r46015:f6c67bb4 default
r46321:44d84b72 default
Show More
lockdelay.py
23 lines | 680 B | text/x-python | PythonLexer
Gregory Szorc
hg: obtain lock when creating share from pooled repo (issue5104)...
r28289 # Dummy extension that adds a delay after acquiring a lock.
#
# This extension can be used to test race conditions between lock acquisition.
from __future__ import absolute_import
import os
import time
Augie Fackler
formatting: blacken the codebase...
r43346
Pierre-Yves David
pull: grab wlock during pull...
r30068 def reposetup(ui, repo):
class delayedlockrepo(repo.__class__):
Pulkit Goyal
tests: update lockdelay.py to handle the `wait` argument...
r46015 def lock(self, wait=True):
Pierre-Yves David
pull: grab wlock during pull...
r30068 delay = float(os.environ.get('HGPRELOCKDELAY', '0.0'))
if delay:
time.sleep(delay)
Pulkit Goyal
tests: update lockdelay.py to handle the `wait` argument...
r46015 res = super(delayedlockrepo, self).lock(wait=wait)
Pierre-Yves David
pull: grab wlock during pull...
r30068 delay = float(os.environ.get('HGPOSTLOCKDELAY', '0.0'))
if delay:
time.sleep(delay)
return res
Augie Fackler
formatting: blacken the codebase...
r43346
Pierre-Yves David
pull: grab wlock during pull...
r30068 repo.__class__ = delayedlockrepo