diff Python/ceval.c @ 59442:da19894946e1 3.1

Merged revisions 78766 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r78766 | benjamin.peterson | 2010-03-07 11:10:51 -0600 (Sun, 07 Mar 2010) | 1 line prevent generator finalization from invalidating sys.exc_info() #7173 ........
author Benjamin Peterson <benjamin@python.org>
date Sun, 07 Mar 2010 17:14:15 +0000
parents 264a735a8af7
children 9714f8a77b16
line wrap: on
line diff
--- a/Python/ceval.c	Sun Mar 07 04:13:48 2010 +0000
+++ b/Python/ceval.c	Sun Mar 07 17:14:15 2010 +0000
@@ -1107,7 +1107,7 @@
 	assert(stack_pointer != NULL);
 	f->f_stacktop = NULL;	/* remains NULL unless yield suspends frame */
 
-	if (f->f_code->co_flags & CO_GENERATOR) {
+	if (co->co_flags & CO_GENERATOR && !throwflag) {
 		if (f->f_exc_type != NULL && f->f_exc_type != Py_None) {
 			/* We were in an except handler when we left,
 			   restore the exception state which was put aside