diff options
author | Fred Drake <fdrake@acm.org> | 2001-06-22 17:20:05 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2001-06-22 17:20:05 (GMT) |
commit | 10de30d1bca4bc0e5ef9b3acc4411c930826c16e (patch) | |
tree | cec9964e95af26a8f17957842ec3d8c3cbf47564 | |
parent | 2f7d0354905cd2fa0498c12a10bfc112fdd5d879 (diff) | |
download | cpython-10de30d1bca4bc0e5ef9b3acc4411c930826c16e.zip cpython-10de30d1bca4bc0e5ef9b3acc4411c930826c16e.tar.gz cpython-10de30d1bca4bc0e5ef9b3acc4411c930826c16e.tar.bz2 |
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.
-rw-r--r-- | Doc/lib/libweakref.tex | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/Doc/lib/libweakref.tex b/Doc/lib/libweakref.tex index 077e25c..0d92ea9 100644 --- a/Doc/lib/libweakref.tex +++ b/Doc/lib/libweakref.tex @@ -226,28 +226,26 @@ PyTypeObject PyInstance_Type = { 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} |