Mercurial > cpython-lru_cache-weakref
diff Doc/lib/libweakref.tex @ 18223:220405c07232 legacy-trunk
Corrected an error in the information on supporting weak references in
extension types (the docs reflected a development version of the API).
This closes SF bug #435066.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Fri, 22 Jun 2001 17:20:29 +0000 |
| parents | c1880f6b3189 |
| children | 798b5e6b4915 |
line wrap: on
line diff
--- a/Doc/lib/libweakref.tex Fri Jun 22 17:11:30 2001 +0000 +++ b/Doc/lib/libweakref.tex Fri Jun 22 17:20:29 2001 +0000 @@ -226,28 +226,26 @@ 0, "instance", - /* lots of stuff omitted for brevity */ + /* Lots of stuff omitted for brevity... */ offsetof(PyInstanceObject, in_weakreflist) /* tp_weaklistoffset */ }; \end{verbatim} The only further addition is that the destructor needs to call the -weak reference manager to clear any weak references and return if the -object has been resurrected. This needs to occur before any other -parts of the destruction have occurred: +weak reference manager to clear any weak references. This should be +done before any other parts of the destruction have occurred: \begin{verbatim} static void instance_dealloc(PyInstanceObject *inst) { - /* allocate tempories if needed, but do not begin - destruction here + /* Allocate tempories if needed, but do not begin + destruction just yet. */ - if (!PyObject_ClearWeakRefs((PyObject *) inst)) - return; + PyObject_ClearWeakRefs((PyObject *) inst); - /* proceed with object destuction normally */ + /* Proceed with object destuction normally. */ } \end{verbatim}
