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

Guido van Rossum python-dev@python.org
Sat, 25 Mar 2000 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);
  }