Remove _Py_ResetReferences. Fixes bug #529750 "Circular reference makes

Py_Init crash".  refchain cannot be cleared because objects can live across
Py_Finalize() and Py_Initialize() if they are kept alive by circular
references.
This commit is contained in:
Neil Schemenauer 2002-11-17 17:52:44 +00:00
parent 6141812820
commit 89350a41b9
3 changed files with 0 additions and 12 deletions

View File

@ -559,7 +559,6 @@ PyAPI_FUNC(void) _Py_NewReference(PyObject *);
PyAPI_FUNC(void) _Py_ForgetReference(PyObject *); PyAPI_FUNC(void) _Py_ForgetReference(PyObject *);
PyAPI_FUNC(void) _Py_Dealloc(PyObject *); PyAPI_FUNC(void) _Py_Dealloc(PyObject *);
PyAPI_FUNC(void) _Py_PrintReferences(FILE *); PyAPI_FUNC(void) _Py_PrintReferences(FILE *);
PyAPI_FUNC(void) _Py_ResetReferences(void);
#else #else
/* Without Py_TRACE_REFS, there's little enough to do that we expand code /* Without Py_TRACE_REFS, there's little enough to do that we expand code

View File

@ -1908,13 +1908,6 @@ _Py_ReadyTypes(void)
static PyObject refchain = {&refchain, &refchain}; static PyObject refchain = {&refchain, &refchain};
void
_Py_ResetReferences(void)
{
refchain._ob_prev = refchain._ob_next = &refchain;
_Py_RefTotal = 0;
}
void void
_Py_NewReference(PyObject *op) _Py_NewReference(PyObject *op)
{ {

View File

@ -277,10 +277,6 @@ Py_Finalize(void)
#endif #endif
call_ll_exitfuncs(); call_ll_exitfuncs();
#ifdef Py_TRACE_REFS
_Py_ResetReferences();
#endif /* Py_TRACE_REFS */
} }
/* Create and initialize a new interpreter and thread, and return the /* Create and initialize a new interpreter and thread, and return the