[Python-checkins] python/dist/src/Python ceval.c,2.367,2.367.8.1

doko at users.sourceforge.net doko at users.sourceforge.net
Wed Dec 1 08:37:01 CET 2004


Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9830/Python

Modified Files:
      Tag: release23-maint
	ceval.c 
Log Message:
Taken from 2.4/HEAD:

- Bug #875692: Improve signal handling, especially when using threads, by
  forcing an early re-execution of PyEval_EvalFrame() "periodic" code when
  things_to_do is not cleared by Py_MakePendingCalls().


Index: ceval.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/ceval.c,v
retrieving revision 2.367
retrieving revision 2.367.8.1
diff -u -d -r2.367 -r2.367.8.1
--- ceval.c	29 Jun 2003 14:48:32 -0000	2.367
+++ ceval.c	1 Dec 2004 07:36:58 -0000	2.367.8.1
@@ -785,6 +785,12 @@
 					why = WHY_EXCEPTION;
 					goto on_error;
 				}
+				if (things_to_do)
+					/* MakePendingCalls() didn't succeed.
+					   Force early re-execution of this
+					   "periodic" code, possibly after
+					   a thread switch */
+					_Py_Ticker = 0;
 			}
 #if !defined(HAVE_SIGNAL_H) || defined(macintosh)
 			/* If we have true signals, the signal handler



More information about the Python-checkins mailing list