Commit 89350a41 authored by Neil Schemenauer's avatar Neil Schemenauer

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.
parent 61418128
......@@ -559,7 +559,6 @@ PyAPI_FUNC(void) _Py_NewReference(PyObject *);
PyAPI_FUNC(void) _Py_ForgetReference(PyObject *);
PyAPI_FUNC(void) _Py_Dealloc(PyObject *);
PyAPI_FUNC(void) _Py_PrintReferences(FILE *);
PyAPI_FUNC(void) _Py_ResetReferences(void);
#else
/* Without Py_TRACE_REFS, there's little enough to do that we expand code
......
......@@ -1908,13 +1908,6 @@ _Py_ReadyTypes(void)
static PyObject refchain = {&refchain, &refchain};
void
_Py_ResetReferences(void)
{
refchain._ob_prev = refchain._ob_next = &refchain;
_Py_RefTotal = 0;
}
void
_Py_NewReference(PyObject *op)
{
......
......@@ -277,10 +277,6 @@ Py_Finalize(void)
#endif
call_ll_exitfuncs();
#ifdef Py_TRACE_REFS
_Py_ResetReferences();
#endif /* Py_TRACE_REFS */
}
/* Create and initialize a new interpreter and thread, and return the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment