[pypy-svn] r55369 - pypy/dist/pypy/doc

arigo at codespeak.net arigo at codespeak.net
Wed May 28 21:43:27 CEST 2008

Author: arigo
Date: Wed May 28 21:43:25 2008
New Revision: 55369

Link to the blog posts (thanks cfbolz).

Modified: pypy/dist/pypy/doc/cpython_differences.txt
--- pypy/dist/pypy/doc/cpython_differences.txt	(original)
+++ pypy/dist/pypy/doc/cpython_differences.txt	Wed May 28 21:43:25 2008
@@ -32,7 +32,15 @@
 There are a few extra implications for the difference in the GC.  Most
 notably, if an object has a __del__, the __del__ is never called more
 than once in PyPy; but CPython will call the same __del__ several times
-if the object is resurrected and dies again.
+if the object is resurrected and dies again.  The __del__ methods are
+called in "the right" order if they are on objects pointing to each
+other, as in CPython, but unlike CPython, if there is a dead cycle of
+objects referencing each other, their __del__ methods are called anyway;
+CPython would instead put them into the list ``garbage`` of the ``gc``
+module.  More information is available on the blog `[1]`__ `[2]`__.
+.. __: http://morepypy.blogspot.com/2008/02/python-finalizers-semantics-part-1.html
+.. __: http://morepypy.blogspot.com/2008/02/python-finalizers-semantics-part-2.html
 The built-in function ``id()`` returns numbers that are not addresses
 for most of PyPy's garbage collectors.

More information about the Pypy-commit mailing list