Commit 3a081f52 authored by Raymond Hettinger's avatar Raymond Hettinger

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

parent ef4902af
...@@ -191,9 +191,11 @@ class Timer: ...@@ -191,9 +191,11 @@ class Timer:
it = [None] * number it = [None] * number
gcold = gc.isenabled() gcold = gc.isenabled()
gc.disable() gc.disable()
timing = self.inner(it, self.timer) try:
if gcold: timing = self.inner(it, self.timer)
gc.enable() finally:
if gcold:
gc.enable()
return timing return timing
def repeat(self, repeat=default_repeat, number=default_number): def repeat(self, repeat=default_repeat, number=default_number):
......
...@@ -722,6 +722,7 @@ Chris Rebert ...@@ -722,6 +722,7 @@ Chris Rebert
Marc Recht Marc Recht
John Redford John Redford
Terry Reedy Terry Reedy
Gareth Rees
Steve Reeves Steve Reeves
Lennart Regebro Lennart Regebro
Ofir Reichenberg Ofir Reichenberg
......
...@@ -39,6 +39,9 @@ Library ...@@ -39,6 +39,9 @@ Library
- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime. - 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 - Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
given as a low fd, it gets overwritten. given as a low fd, it gets overwritten.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment