[pypy-svn] r66893 - pypy/trunk/pypy/interpreter
benjamin at codespeak.net
benjamin at codespeak.net
Tue Aug 18 14:34:10 CEST 2009
Author: benjamin
Date: Tue Aug 18 14:34:09 2009
New Revision: 66893
Modified:
pypy/trunk/pypy/interpreter/generator.py
Log:
(arigo, benjamin) don't throw GeneratorExit when it's not possibly caught
Modified: pypy/trunk/pypy/interpreter/generator.py
==============================================================================
--- pypy/trunk/pypy/interpreter/generator.py (original)
+++ pypy/trunk/pypy/interpreter/generator.py Tue Aug 18 14:34:09 2009
@@ -2,6 +2,7 @@
from pypy.interpreter.baseobjspace import Wrappable
from pypy.interpreter.gateway import NoneNotWrapped
from pypy.rlib.rarithmetic import intmask
+from pypy.interpreter.pyopcode import LoopBlock
class GeneratorIterator(Wrappable):
@@ -126,4 +127,7 @@
def __del__(self):
if not self.frame.frame_finished_execution:
- self._enqueue_for_destruction(self.space)
+ for block in self.frame.blockstack:
+ if not isinstance(block, LoopBlock):
+ self._enqueue_for_destruction(self.space)
+ break
More information about the Pypy-commit
mailing list