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

This commit is contained in:
Raymond Hettinger 2011-07-29 00:08:19 -07:00
commit abe9dc3f30
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):

View File

@ -771,6 +771,7 @@ Chris Rebert
Marc Recht
John Redford
Terry Reedy
Gareth Rees
Steve Reeves
Lennart Regebro
Ofir Reichenberg

View File

@ -246,6 +246,9 @@ Library
- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime.
- Issue #12514: Use try/finally to assure the timeit module restores garbage
collections when it is done.
- Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
given as a low fd, it gets overwritten.