summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2001-06-22 17:20:05 (GMT)
committerFred Drake <fdrake@acm.org>2001-06-22 17:20:05 (GMT)
commit10de30d1bca4bc0e5ef9b3acc4411c930826c16e (patch)
treecec9964e95af26a8f17957842ec3d8c3cbf47564
parent2f7d0354905cd2fa0498c12a10bfc112fdd5d879 (diff)
downloadcpython-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.tex16
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}