diff options
author | Fred Drake <fdrake@acm.org> | 2001-02-01 05:27:45 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2001-02-01 05:27:45 (GMT) |
commit | 41deb1efc2f969b58e49af669cc20d15ccdb04c6 (patch) | |
tree | 6478ef737151fb4e091594b78f611318a15d3a31 /Objects/classobject.c | |
parent | 2de7471d69b950a64e52a950675d59d9f4071da1 (diff) | |
download | cpython-41deb1efc2f969b58e49af669cc20d15ccdb04c6.zip cpython-41deb1efc2f969b58e49af669cc20d15ccdb04c6.tar.gz cpython-41deb1efc2f969b58e49af669cc20d15ccdb04c6.tar.bz2 |
PEP 205, Weak References -- initial checkin.
Diffstat (limited to 'Objects/classobject.c')
-rw-r--r-- | Objects/classobject.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Objects/classobject.c b/Objects/classobject.c index 218e031..bb17df1 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -515,6 +515,10 @@ instance_dealloc(register PyInstanceObject *inst) #ifdef Py_REF_DEBUG extern long _Py_RefTotal; #endif + + if (!PyObject_ClearWeakRefs((PyObject *) inst)) + return; + /* Temporarily resurrect the object. */ #ifdef Py_TRACE_REFS #ifndef Py_REF_DEBUG @@ -1771,6 +1775,7 @@ PyTypeObject PyInstance_Type = { (traverseproc)instance_traverse, /* tp_traverse */ 0, /* tp_clear */ instance_richcompare, /* tp_richcompare */ + offsetof(PyInstanceObject, in_weakreflist) /* tp_weaklistoffset */ }; |