Issue 12514: Use try/finally to assure that timeit restores GC when done.

This commit is contained in:
Raymond Hettinger 2011-07-29 00:02:04 -07:00
parent ef4902af87
commit 3a081f526d
3 changed files with 9 additions and 3 deletions

View file

@ -191,9 +191,11 @@ class Timer:
it = [None] * number
gcold = gc.isenabled()
gc.disable()
timing = self.inner(it, self.timer)
if gcold:
gc.enable()
try:
timing = self.inner(it, self.timer)
finally:
if gcold:
gc.enable()
return timing
def repeat(self, repeat=default_repeat, number=default_number):