[Python-checkins] CVS: python/dist/src/Objects object.c,2.64,2.65

Guido van Rossum python-dev@python.org
2000年3月25日 13:39:23 -0500 (EST)


Update of /projects/cvsroot/python/dist/src/Objects
In directory eric:/home/guido/hp/mal/py-patched/Objects
Modified Files:
	object.c 
Log Message:
Christian Tismer:
Added "better safe than sorry" patch to the new
trashcan code in object.c, to ensure that tstate
is not touched when it might be undefined.
Index: object.c
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Objects/object.c,v
retrieving revision 2.64
retrieving revision 2.65
diff -C2 -r2.64 -r2.65
*** object.c	2000年03月13日 16:01:29	2.64
--- object.c	2000年03月25日 18:39:19	2.65
***************
*** 921,924 ****
--- 921,927 ----
 CT 2k0309
 modified to restore a possible error.
+ 
+ CT 2k0325
+ added better safe than sorry check for threadstate
 */
 
***************
*** 931,935 ****
 {
 	PyObject *error_type, *error_value, *error_traceback;
! 	PyErr_Fetch(&error_type, &error_value, &error_traceback);
 
 	if (!_PyTrash_delete_later)
--- 934,940 ----
 {
 	PyObject *error_type, *error_value, *error_traceback;
! 
! 	if (PyThreadState_GET() != NULL)
! 	 PyErr_Fetch(&error_type, &error_value, &error_traceback);
 
 	if (!_PyTrash_delete_later)
***************
*** 938,942 ****
 		PyList_Append(_PyTrash_delete_later, (PyObject *)op);
 
! 	PyErr_Restore(error_type, error_value, error_traceback);
 }
 
--- 943,948 ----
 		PyList_Append(_PyTrash_delete_later, (PyObject *)op);
 
! 	if (PyThreadState_GET() != NULL)
! 	 PyErr_Restore(error_type, error_value, error_traceback);
 }
 

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