[Python-checkins] CVS: python/dist/src/Python ceval.c,2.305,2.306

Neil Schemenauer nascheme@users.sourceforge.net
Mon, 18 Mar 2002 12:45:12 -0800


Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv24763/Python

Modified Files:
	ceval.c 
Log Message:
Re-enable GC of generator objects.


Index: ceval.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/ceval.c,v
retrieving revision 2.305
retrieving revision 2.306
diff -C2 -d -r2.305 -r2.306
*** ceval.c	17 Feb 2002 19:10:14 -0000	2.305
--- ceval.c	18 Mar 2002 20:45:09 -0000	2.306
***************
*** 101,105 ****
  gen_new(PyFrameObject *f)
  {
! 	genobject *gen = PyObject_New(genobject, &gentype);
  	if (gen == NULL) {
  		Py_DECREF(f);
--- 101,105 ----
  gen_new(PyFrameObject *f)
  {
! 	genobject *gen = PyObject_GC_New(genobject, &gentype);
  	if (gen == NULL) {
  		Py_DECREF(f);
***************
*** 108,112 ****
  	gen->gi_frame = f;
  	gen->gi_running = 0;
! 	PyObject_GC_Init(gen);
  	return (PyObject *)gen;
  }
--- 108,112 ----
  	gen->gi_frame = f;
  	gen->gi_running = 0;
! 	_PyObject_GC_TRACK(gen);
  	return (PyObject *)gen;
  }
***************
*** 121,127 ****
  gen_dealloc(genobject *gen)
  {
! 	PyObject_GC_Fini(gen);
  	Py_DECREF(gen->gi_frame);
! 	PyObject_Del(gen);
  }
  
--- 121,127 ----
  gen_dealloc(genobject *gen)
  {
! 	_PyObject_GC_UNTRACK(gen);
  	Py_DECREF(gen->gi_frame);
! 	PyObject_GC_Del(gen);
  }
  
***************
*** 205,209 ****
  	0,					/* ob_size */
  	"generator",				/* tp_name */
! 	sizeof(genobject) + PyGC_HEAD_SIZE,	/* tp_basicsize */
  	0,					/* tp_itemsize */
  	/* methods */
--- 205,209 ----
  	0,					/* ob_size */
  	"generator",				/* tp_name */
! 	sizeof(genobject),			/* tp_basicsize */
  	0,					/* tp_itemsize */
  	/* methods */
***************
*** 223,227 ****
  	0,					/* tp_setattro */
  	0,					/* tp_as_buffer */
! 	Py_TPFLAGS_DEFAULT | Py_TPFLAGS_GC,	/* tp_flags */
   	0,					/* tp_doc */
   	(traverseproc)gen_traverse,		/* tp_traverse */
--- 223,227 ----
  	0,					/* tp_setattro */
  	0,					/* tp_as_buffer */
! 	Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,/* tp_flags */
   	0,					/* tp_doc */
   	(traverseproc)gen_traverse,		/* tp_traverse */