Commit d3f4a1a0 authored by Martin v. Löwis's avatar Martin v. Löwis

Patch #893566: Document that tp_dealloc may be called from any thread.

parent 7db04e7c
......@@ -1389,6 +1389,16 @@ inherited by subtypes.
field.
\end{cmemberdesc}
Also, note that, in a garbage collected Python, tp_dealloc may be
called from any Python thread, not just the thread which created the
object (if the object becomes part of a refcount cycle, that cycle
might be collected by a garbage collection on any thread). This is
not a problem for Python API calls, since the thread on which
tp_dealloc is called will own the Global Interpreter Lock (GIL).
However, if the object being destroyed in turn destroys objects from
some other C or C++ library, care should be taken to ensure that
destroying those objects on the thread which called tp_dealloc will
not violate any assumptions of the library.
\section{Mapping Object Structures \label{mapping-structs}}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment