summaryrefslogtreecommitdiffstats
path: root/Doc/api/refcounting.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/api/refcounting.tex')
-rw-r--r--Doc/api/refcounting.tex69
1 files changed, 0 insertions, 69 deletions
diff --git a/Doc/api/refcounting.tex b/Doc/api/refcounting.tex
deleted file mode 100644
index 077543b..0000000
--- a/Doc/api/refcounting.tex
+++ /dev/null
@@ -1,69 +0,0 @@
-\chapter{Reference Counting \label{countingRefs}}
-
-
-The macros in this section are used for managing reference counts
-of Python objects.
-
-
-\begin{cfuncdesc}{void}{Py_INCREF}{PyObject *o}
- Increment the reference count for object \var{o}. The object must
- not be \NULL; if you aren't sure that it isn't \NULL, use
- \cfunction{Py_XINCREF()}.
-\end{cfuncdesc}
-
-\begin{cfuncdesc}{void}{Py_XINCREF}{PyObject *o}
- Increment the reference count for object \var{o}. The object may be
- \NULL, in which case the macro has no effect.
-\end{cfuncdesc}
-
-\begin{cfuncdesc}{void}{Py_DECREF}{PyObject *o}
- Decrement the reference count for object \var{o}. The object must
- not be \NULL; if you aren't sure that it isn't \NULL, use
- \cfunction{Py_XDECREF()}. If the reference count reaches zero, the
- object's type's deallocation function (which must not be \NULL) is
- invoked.
-
- \warning{The deallocation function can cause arbitrary Python code
- to be invoked (e.g. when a class instance with a \method{__del__()}
- method is deallocated). While exceptions in such code are not
- propagated, the executed code has free access to all Python global
- variables. This means that any object that is reachable from a
- global variable should be in a consistent state before
- \cfunction{Py_DECREF()} is invoked. For example, code to delete an
- object from a list should copy a reference to the deleted object in
- a temporary variable, update the list data structure, and then call
- \cfunction{Py_DECREF()} for the temporary variable.}
-\end{cfuncdesc}
-
-\begin{cfuncdesc}{void}{Py_XDECREF}{PyObject *o}
- Decrement the reference count for object \var{o}. The object may be
- \NULL, in which case the macro has no effect; otherwise the effect
- is the same as for \cfunction{Py_DECREF()}, and the same warning
- applies.
-\end{cfuncdesc}
-
-\begin{cfuncdesc}{void}{Py_CLEAR}{PyObject *o}
- Decrement the reference count for object \var{o}. The object may be
- \NULL, in which case the macro has no effect; otherwise the effect
- is the same as for \cfunction{Py_DECREF()}, except that the argument
- is also set to \NULL. The warning for \cfunction{Py_DECREF()} does
- not apply with respect to the object passed because the macro
- carefully uses a temporary variable and sets the argument to \NULL
- before decrementing its reference count.
-
- It is a good idea to use this macro whenever decrementing the value
- of a variable that might be traversed during garbage collection.
-
-\versionadded{2.4}
-\end{cfuncdesc}
-
-
-The following functions are for runtime dynamic embedding of Python:
-\cfunction{Py_IncRef(PyObject *o)}, \cfunction{Py_DecRef(PyObject *o)}.
-They are simply exported function versions of \cfunction{Py_XINCREF()} and
-\cfunction{Py_XDECREF()}, respectively.
-
-The following functions or macros are only for use within the
-interpreter core: \cfunction{_Py_Dealloc()},
-\cfunction{_Py_ForgetReference()}, \cfunction{_Py_NewReference()}, as
-well as the global variable \cdata{_Py_RefTotal}.