[Python-checkins] python/dist/src/Python ceval.c,2.425,2.426

bwarsaw@users.sourceforge.net bwarsaw at users.sourceforge.net
Mon Aug 15 20:14:30 CEST 2005


Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28928/Python
Modified Files:
	ceval.c 
Log Message:
Port from the Python 2.4 branch, patches for SF bug # 900092,
hotshot.stats.load.
Index: ceval.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/ceval.c,v
retrieving revision 2.425
retrieving revision 2.426
diff -u -d -r2.425 -r2.426
--- ceval.c	2 Aug 2005 00:46:45 -0000	2.425
+++ ceval.c	15 Aug 2005 18:14:19 -0000	2.426
@@ -2480,14 +2480,20 @@
 
 fast_yield:
 	if (tstate->use_tracing) {
-		if (tstate->c_tracefunc
-		 && (why == WHY_RETURN || why == WHY_YIELD)) {
-			if (call_trace(tstate->c_tracefunc,
-				 tstate->c_traceobj, f,
-				 PyTrace_RETURN, retval)) {
-				Py_XDECREF(retval);
-				retval = NULL;
-				why = WHY_EXCEPTION;
+		if (tstate->c_tracefunc) {
+			if (why == WHY_RETURN || why == WHY_YIELD) {
+				if (call_trace(tstate->c_tracefunc,
+					 tstate->c_traceobj, f,
+					 PyTrace_RETURN, retval)) {
+					Py_XDECREF(retval);
+					retval = NULL;
+					why = WHY_EXCEPTION;
+				}
+			}
+			else if (why == WHY_EXCEPTION) {
+				call_trace_protected(tstate->c_tracefunc,
+						 tstate->c_traceobj, f,
+						 PyTrace_RETURN);
 			}
 		}
 		if (tstate->c_profilefunc) {


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /