summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-11-03 19:57:21 +0000
committerTim Peters <tim.peters@gmail.com>2001-11-03 19:57:21 +0000
commit169ded0d6819f761def726deda19a35c91116674 (patch)
treedee35300f23eeb688ab1c132d9e8afcf98784362
parent7533587d4363d0841232f58d61adc15fa32b4825 (diff)
downloadcpython-git-169ded0d6819f761def726deda19a35c91116674.tar.gz
Finish SF patch 477059: __del__ on new classes vs. GC.
Just doc and NEWS here, about the change in gc.garbage meaning.
-rw-r--r--Doc/lib/libgc.tex6
-rw-r--r--Misc/NEWS5
2 files changed, 10 insertions, 1 deletions
diff --git a/Doc/lib/libgc.tex b/Doc/lib/libgc.tex
index cfd563cd4b..589bcb14d0 100644
--- a/Doc/lib/libgc.tex
+++ b/Doc/lib/libgc.tex
@@ -83,7 +83,11 @@ The following variable is provided for read-only access:
\begin{datadesc}{garbage}
A list of objects which the collector found to be unreachable
-but could not be freed (uncollectable objects). Objects that have
+but could not be freed (uncollectable objects). By default, this list
+contains only objects with \method{__del__()} methods.\footnote{Prior to
+ Python 2.2, the list contained all instance objects in unreachable
+ cycles, not only those with \method{__del__()} methods.}
+Objects that have
\method{__del__()} methods and create part of a reference cycle cause
the entire reference cycle to be uncollectable. If
\constant{DEBUG_SAVEALL} is set, then all unreachable objects will
diff --git a/Misc/NEWS b/Misc/NEWS
index 02c4928f7d..c0f09ae096 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -32,6 +32,11 @@ Core and builtins
Extension modules
+- By default, the gc.garbage list now contains only those instances in
+ unreachable cycles that have __del__ methods; in 2.1 it contained all
+ instances in unreachable cycles. "Instances" here has been generalized
+ to include instances of both new-style and old-style classes.
+
- The socket module defines a new method for socket objects,
sendall(). This is like send() but may make multiple calls to
send() until all data has been sent. Also, the socket function has