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:
parent
6141812820
commit
89350a41b9
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue