Commit b3f0d349 authored by Fred Drake's avatar Fred Drake

PyObject_ClearWeakRefs() is now a real function instead of a function pointer;

the implementation is in Objects/weakrefobject.c.
parent 502ed821
...@@ -345,7 +345,7 @@ extern DL_IMPORT(int) PyCallable_Check(PyObject *); ...@@ -345,7 +345,7 @@ extern DL_IMPORT(int) PyCallable_Check(PyObject *);
extern DL_IMPORT(int) PyNumber_Coerce(PyObject **, PyObject **); extern DL_IMPORT(int) PyNumber_Coerce(PyObject **, PyObject **);
extern DL_IMPORT(int) PyNumber_CoerceEx(PyObject **, PyObject **); extern DL_IMPORT(int) PyNumber_CoerceEx(PyObject **, PyObject **);
extern DL_IMPORT(void) (*PyObject_ClearWeakRefs)(PyObject *); extern DL_IMPORT(void) PyObject_ClearWeakRefs(PyObject *);
/* A slot function whose address we need to compare */ /* A slot function whose address we need to compare */
extern int _PyObject_SlotCompare(PyObject *, PyObject *); extern int _PyObject_SlotCompare(PyObject *, PyObject *);
......
...@@ -1841,21 +1841,6 @@ PyObject_Free(void *p) ...@@ -1841,21 +1841,6 @@ PyObject_Free(void *p)
} }
/* Hook to clear up weak references only once the _weakref module is
imported. We use a dummy implementation to simplify the code at each
call site instead of requiring a test for NULL.
*/
static void
empty_clear_weak_refs(PyObject *o)
{
return;
}
void (*PyObject_ClearWeakRefs)(PyObject *) = empty_clear_weak_refs;
/* These methods are used to control infinite recursion in repr, str, print, /* These methods are used to control infinite recursion in repr, str, print,
etc. Container objects that may recursively contain themselves, etc. Container objects that may recursively contain themselves,
e.g. builtin dictionaries and lists, should used Py_ReprEnter() and e.g. builtin dictionaries and lists, should used Py_ReprEnter() and
......
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