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 *);
extern DL_IMPORT(int) PyNumber_Coerce(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 */
extern int _PyObject_SlotCompare(PyObject *, PyObject *);
......
......@@ -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,
etc. Container objects that may recursively contain themselves,
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