[Python-checkins] CVS: python/dist/src/Objects moduleobject.c,2.36,2.37
Neil Schemenauer
nascheme@users.sourceforge.net
Wed, 29 Aug 2001 16:53:11 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv3870/Objects
Modified Files:
moduleobject.c
Log Message:
Use new GC API.
Index: moduleobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/moduleobject.c,v
retrieving revision 2.36
retrieving revision 2.37
diff -C2 -d -r2.36 -r2.37
*** moduleobject.c 2001/08/24 18:34:26 2.36
--- moduleobject.c 2001/08/29 23:53:09 2.37
***************
*** 20,29 ****
PyModuleObject *m;
PyObject *nameobj;
! m = PyObject_NEW(PyModuleObject, &PyModule_Type);
if (m == NULL)
return NULL;
nameobj = PyString_FromString(name);
m->md_dict = PyDict_New();
- PyObject_GC_Init(m);
if (m->md_dict == NULL || nameobj == NULL)
goto fail;
--- 20,28 ----
PyModuleObject *m;
PyObject *nameobj;
! m = PyObject_GC_New(PyModuleObject, &PyModule_Type);
if (m == NULL)
return NULL;
nameobj = PyString_FromString(name);
m->md_dict = PyDict_New();
if (m->md_dict == NULL || nameobj == NULL)
goto fail;
***************
*** 33,36 ****
--- 32,36 ----
goto fail;
Py_DECREF(nameobj);
+ PyObject_GC_Track(m);
return (PyObject *)m;
***************
*** 147,156 ****
module_dealloc(PyModuleObject *m)
{
! PyObject_GC_Fini(m);
if (m->md_dict != NULL) {
_PyModule_Clear((PyObject *)m);
Py_DECREF(m->md_dict);
}
! PyObject_DEL(PyObject_AS_GC(m));
}
--- 147,156 ----
module_dealloc(PyModuleObject *m)
{
! PyObject_GC_UnTrack(m);
if (m->md_dict != NULL) {
_PyModule_Clear((PyObject *)m);
Py_DECREF(m->md_dict);
}
! PyObject_GC_Del(m);
}
***************
*** 189,193 ****
0, /* ob_size */
"module", /* tp_name */
! sizeof(PyModuleObject) + PyGC_HEAD_SIZE, /* tp_size */
0, /* tp_itemsize */
(destructor)module_dealloc, /* tp_dealloc */
--- 189,193 ----
0, /* ob_size */
"module", /* tp_name */
! sizeof(PyModuleObject), /* tp_size */
0, /* tp_itemsize */
(destructor)module_dealloc, /* tp_dealloc */
***************
*** 206,210 ****
PyObject_GenericSetAttr, /* tp_setattro */
0, /* tp_as_buffer */
! Py_TPFLAGS_DEFAULT | Py_TPFLAGS_GC |
Py_TPFLAGS_BASETYPE, /* tp_flags */
0, /* tp_doc */
--- 206,210 ----
PyObject_GenericSetAttr, /* tp_setattro */
0, /* tp_as_buffer */
! Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
Py_TPFLAGS_BASETYPE, /* tp_flags */
0, /* tp_doc */