From: Raymond Hettinger Date: Fri, 29 Jul 2011 07:02:04 +0000 (-0700) Subject: Issue 12514: Use try/finally to assure that timeit restores GC when done. X-Git-Tag: v3.2.2rc1~57 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3a081f526d1556129facd38a1bb6a1b8af3abbe7;p=thirdparty%2FPython%2Fcpython.git Issue 12514: Use try/finally to assure that timeit restores GC when done. --- diff --git a/Lib/timeit.py b/Lib/timeit.py index 8e0464526250..461c8910702b 100644 --- a/Lib/timeit.py +++ b/Lib/timeit.py @@ -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): diff --git a/Misc/ACKS b/Misc/ACKS index 4a2c06e620d2..820206acf4f5 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -722,6 +722,7 @@ Chris Rebert Marc Recht John Redford Terry Reedy +Gareth Rees Steve Reeves Lennart Regebro Ofir Reichenberg diff --git a/Misc/NEWS b/Misc/NEWS index e7c3a75a37bb..0e78bf213905 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -39,6 +39,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.