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}