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

the implementation is in Objects/weakrefobject.c.
This commit is contained in:
Fred Drake 2001-10-05 21:58:11 +00:00
parent 502ed82125
commit b3f0d349b6
2 changed files with 1 additions and 16 deletions

View file

@ -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 *);

View file

@ -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