]> granicus.if.org Git - python/commitdiff
Added a warning about reference cycles and memory consumption to the
authorFred Drake <fdrake@acm.org>
Fri, 10 Aug 2001 17:37:33 +0000 (17:37 +0000)
committerFred Drake <fdrake@acm.org>
Fri, 10 Aug 2001 17:37:33 +0000 (17:37 +0000)
section on functions which return stack frames.

This closes SF bug #449258.

Doc/lib/libinspect.tex

index 6101ad87e0c279e8bbde3f043c7f5ea4bc1bba0e..e5ec9ca6204fd18719250b5aa508a38ee7211b9a 100644 (file)
@@ -264,6 +264,16 @@ line within that list.
 The optional \var{context} argument specifies the number of lines of
 context to return, which are centered around the current line.
 
+\strong{Warning:}  Keeping references to frame objects, as found in
+the first element of the frame records these functions return, can
+cause your program to create reference cycles.  Once a reference cycle
+has been created, the lifespan of all objects which can be accessed
+from the objects which form the cycle can become much longer even if
+Python's optional cycle detector is enabled.  If such cycles must be
+created, it is important to ensure they are explicitly broken to avoid
+the delayed destruction of objects and increased memory consumption
+which occurs.
+
 \begin{funcdesc}{getouterframes}{frame\optional{, context}}
   Get a list of frame records for a frame and all higher (calling)
   frames.